در این پست قصد داریم با استفاده از دستور ip در لینوکس نحوه اضافه کردن static ip address, static route, default gateway و غیره را مرور کنیم. ip دادن به اینترفیس شبکه در لینوکس قالبا با دستور ip انجام میشود. دستور ifconfig در حقیقت منسوخ شده و به جای آن در لینوکس از دستور ip استفاده میشود. به هر حال دستور ifconfig نیز همچنان کار میکند و در اکثر توزیع های لینوکسی موجود است.
توجه : لطفا قبل از اعمال هر گونه تغییرات از فایل configuration خود backup تهیه کنید.
چگونه در لینوکس static ip address v4 را تعریف کنیم؟
برای تعریف statick ip address شما باید فایل کانفیگ شبکه خود را آپدیت یا ویرایش کنید تا بتوانید یک ip static به سیستم assign کنید. برای این منظور شما باید super user باشید. در حقیقت از دستور su که مخفف switch user هست در ترمینال یا command prompt استفاده کنیم.
در سیستم عامل های RHEL/CentOS/Fedora :
کانفیگ فایل مورد نظر برای اینترفیس خود (eth0 یا eth1) را با استفاده از ویرایشگر مورد علاقه تان باز کنید. برای مثال ما با دستور زیر میخواهیم به اینترفیس eth0 مان ip بدهیم :
نمونه خروجی دستور :
با خط های بالا که درون فایل وارد میکنیم میتوانیم ip و دیگر اطلاعات مورد نظرمان را به صورت static وارد کنیم.
در سیستم عامل های Ubuntu/Debian/Linux Mint :
برای ip دادن به اینترفیس eth0 باید فایل کانفیگ آن را که در مسیر /etc/network/interfaces میباشد و ویرایش کنیم و پارامترهای آن را همانند مثال زیر تغییر دهیم :
اکنون سرویس network را بعد از وارد کردن همه جزئیات گفته شده با استفاده از دستور زیر restart میکنیم :
1 - نحوه تخصیص یک ip address به اینترفیس مورد نظر :
با استفاده از دستور زیر میتوانیم ip address را به یک اینترفیس خاص (eth1) خیلی سریع اختصاص دهیم :
توجه : متاسفانه همه تنظیمات بالا بعد از یک بار restart سیستم از بین خواهد رفت و در حقیقت موقتی میباشد.
2 - نحوه چک کردن ip address :
برای دریافت اطلاعات کامل از اینترفیس های شبکه تان مانند جزییات ip address و mac address دستور زیر را استفاده میکنیم :
نمونه خروجی دستور :
3 - نحوه حذف یک ip address :
دستور زیر ip address داده شده به یک اینترفیس (eth1) را حذف خواهد کرد :
4 - نحوه فعال کردن اینترفیس شبکه :
آپشن up به همراه نام اینترفیس (eth1) اینترفیس شبکه را فعال میکند. برای مثال دستور زیر اینترفیس eth1 را فعال مینماید :
5 - نحوه غیرفعال کردن اینترفیس شبکه :
آپشن down به همراه نام اینترفیس (eth1) اینترفیس شبکه را غیرفعال میکند. برای مثال دستور زیر اینترفیس eth1 را غیرفعال مینماید :
6 - چگونه route table را بررسی کنم؟
برای چک کردن اطلاعات routing table سیستم دستور زیر را اجرا کنید :
نمونه خروجی دستور :
7 - نحوه اضافه کردن static route :
دلیل اینکه چرا شما نیاز به اضافه کردن static route ها یا manual route یا route ها دستی به این خاطر است که ترافیک نباید از طریق default gateway عبور کند. ما باید static route اضافه کنیم تا ترافیک را از بهترین راه عبور دهیم تا به مقصد برسد :
8 - نحوه حذف static route :
برای حذف static route اختصاص داده شده میتوانید به اسانی با اجرای دستور زیر این کار را انجام دهید :
9 - نحوه اضافه کردن static route های دائمی :
همه روت های بالا بعد از یک بار restart سیستم از بین میرود. برای اضافه کردن static route به صورت دائمی فایل /etc/sysconfig/network-scripts/route-eth0 ویرایش میکنیم. ( ما static route مربوط به eth0 را جمع آوری کرده و خطوط زیر را اضافه و سپس save و خارج میشویم.) به صورت پیش فرض فایل route-eth0 وجود ندارد و باید ایجاد گردد :
در سیستم عامل های RHEL/CentOS/Fedora :
در سیستم عامل های Ubuntu/Debian/Linux Mint :
فایل /etc/network/interfaces را باز کنید و در انتهای آن route های static دائمی را اضافه کنید. در سیستم شما ip address متفاوت خواهد بود :
سپس سرویس network را بعد از وارد کردن جزییات بالا با استفاده از دستور زیر restart میکنیم :
10 - نحوه اضافه کردن default gateway :
default gateway میتواند یا به صورت کلی و یا به در یک کانفیگ فایل اینترفیس خاص مشخص شود. مزایایی default gateway در اینجاست که اگر ما بیشتر از یک اینترفیس شبکه روی سیستم موجود داشته باشیم میتوانیم تنها برای یکی default gateway تعریف کنیم. شما میتوانید سریعا و با دستور زیر default gateway تعریف کنید :
همچنین توصیه میشود مطالعه کنید :
دستور netstat برای مدیریت شبکه در لینوکس
راهنمای جامع برای یک Sysadmin لینوکس به منظور مدیریت، عیب یابی و برطرف کردن مشکلات شبکه
13 دستور پیکربندی و عیب یابی شبکه در لینوکس
دستور ping به همراه 12 مثال عملی
باعث خوشحالی بنده هست اگر ایرادات من رو تصحیح کنید. لطفا برای کسب اطلاعات بیشتر دربار دستور ip صفحه man آن را در ترمینال مطالعه کنید.
موفق باشید
محمد هابیلی
توجه : لطفا قبل از اعمال هر گونه تغییرات از فایل configuration خود backup تهیه کنید.
چگونه در لینوکس static ip address v4 را تعریف کنیم؟
برای تعریف statick ip address شما باید فایل کانفیگ شبکه خود را آپدیت یا ویرایش کنید تا بتوانید یک ip static به سیستم assign کنید. برای این منظور شما باید super user باشید. در حقیقت از دستور su که مخفف switch user هست در ترمینال یا command prompt استفاده کنیم.
در سیستم عامل های RHEL/CentOS/Fedora :
کانفیگ فایل مورد نظر برای اینترفیس خود (eth0 یا eth1) را با استفاده از ویرایشگر مورد علاقه تان باز کنید. برای مثال ما با دستور زیر میخواهیم به اینترفیس eth0 مان ip بدهیم :
کد:
[root@linuxzone ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
نمونه خروجی دستور :
کد:
DEVICE="eth0" BOOTPROTO=static ONBOOT=yes TYPE="Ethernet" IPADDR=192.168.50.2 NAME="System eth0" HWADDR=00:0C:29:28:FD:4C GATEWAY=192.168.50.1
در سیستم عامل های Ubuntu/Debian/Linux Mint :
برای ip دادن به اینترفیس eth0 باید فایل کانفیگ آن را که در مسیر /etc/network/interfaces میباشد و ویرایش کنیم و پارامترهای آن را همانند مثال زیر تغییر دهیم :
کد:
auto eth0 iface eth0 inet static address 192.168.50.2 netmask 255.255.255.0 gateway 192.168.50.1
کد:
$ /etc/init.d/networking restart
کد:
$ sudo /etc/init.d/networking restart
1 - نحوه تخصیص یک ip address به اینترفیس مورد نظر :
با استفاده از دستور زیر میتوانیم ip address را به یک اینترفیس خاص (eth1) خیلی سریع اختصاص دهیم :
کد:
$ ip addr add 192.168.50.5 dev eth1
کد:
$ sudo ip addr add 192.168.50.5 dev eth1
توجه : متاسفانه همه تنظیمات بالا بعد از یک بار restart سیستم از بین خواهد رفت و در حقیقت موقتی میباشد.
2 - نحوه چک کردن ip address :
برای دریافت اطلاعات کامل از اینترفیس های شبکه تان مانند جزییات ip address و mac address دستور زیر را استفاده میکنیم :
کد:
$ ip addr show
کد:
$ sudo ip addr show
نمونه خروجی دستور :
کد:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:28:fd:4c brd ff:ff:ff:ff:ff:ff inet 192.168.50.2/24 brd 192.168.50.255 scope global eth0 inet6 fe80::20c:29ff:fe28:fd4c/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:28:fd:56 brd ff:ff:ff:ff:ff:ff inet 192.168.50.5/24 scope global eth1 inet6 fe80::20c:29ff:fe28:fd56/64 scope link valid_lft forever preferred_lft forever
3 - نحوه حذف یک ip address :
دستور زیر ip address داده شده به یک اینترفیس (eth1) را حذف خواهد کرد :
کد:
$ ip addr del 192.168.50.5/24 dev eth1
کد:
$ sudo ip addr del 192.168.50.5/24 dev eth1
4 - نحوه فعال کردن اینترفیس شبکه :
آپشن up به همراه نام اینترفیس (eth1) اینترفیس شبکه را فعال میکند. برای مثال دستور زیر اینترفیس eth1 را فعال مینماید :
کد:
$ ip link set eth1 up
کد:
$ sudo ip link set eth1 up
5 - نحوه غیرفعال کردن اینترفیس شبکه :
آپشن down به همراه نام اینترفیس (eth1) اینترفیس شبکه را غیرفعال میکند. برای مثال دستور زیر اینترفیس eth1 را غیرفعال مینماید :
کد:
$ ip link set eth1 down
کد:
$ sudo ip link set eth1 down
6 - چگونه route table را بررسی کنم؟
برای چک کردن اطلاعات routing table سیستم دستور زیر را اجرا کنید :
کد:
$ ip route show
کد:
$ sudo ip route show
نمونه خروجی دستور :
کد:
10.10.20.0/24 via 192.168.50.100 dev eth0 192.168.160.0/24 dev eth1 proto kernel scope link src 192.168.160.130 metric 1 192.168.50.0/24 dev eth0 proto kernel scope link src 192.168.50.2 169.254.0.0/16 dev eth0 scope link metric 1002 default via 192.168.50.1 dev eth0 proto static
7 - نحوه اضافه کردن static route :
دلیل اینکه چرا شما نیاز به اضافه کردن static route ها یا manual route یا route ها دستی به این خاطر است که ترافیک نباید از طریق default gateway عبور کند. ما باید static route اضافه کنیم تا ترافیک را از بهترین راه عبور دهیم تا به مقصد برسد :
کد:
$ ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0
کد:
$ sudo ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0
8 - نحوه حذف static route :
برای حذف static route اختصاص داده شده میتوانید به اسانی با اجرای دستور زیر این کار را انجام دهید :
کد:
# ip route del 10.10.20.0/24
کد:
$ sudo ip route del 10.10.20.0/24
9 - نحوه اضافه کردن static route های دائمی :
همه روت های بالا بعد از یک بار restart سیستم از بین میرود. برای اضافه کردن static route به صورت دائمی فایل /etc/sysconfig/network-scripts/route-eth0 ویرایش میکنیم. ( ما static route مربوط به eth0 را جمع آوری کرده و خطوط زیر را اضافه و سپس save و خارج میشویم.) به صورت پیش فرض فایل route-eth0 وجود ندارد و باید ایجاد گردد :
در سیستم عامل های RHEL/CentOS/Fedora :
کد:
# vi /etc/sysconfig/network-scripts/route-eth0 10.10.20.0/24 via 192.168.50.100 dev eth0
در سیستم عامل های Ubuntu/Debian/Linux Mint :
فایل /etc/network/interfaces را باز کنید و در انتهای آن route های static دائمی را اضافه کنید. در سیستم شما ip address متفاوت خواهد بود :
کد:
$ sudo vi /etc/network/interfaces
کد:
auto eth0 iface eth0 inet static address 192.168.50.2 netmask 255.255.255.0 gateway 192.168.50.100 #########{Static Route}########### up ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0
سپس سرویس network را بعد از وارد کردن جزییات بالا با استفاده از دستور زیر restart میکنیم :
کد:
# /etc/init.d/network restart
کد:
$ sudo /etc/init.d/network restart
10 - نحوه اضافه کردن default gateway :
default gateway میتواند یا به صورت کلی و یا به در یک کانفیگ فایل اینترفیس خاص مشخص شود. مزایایی default gateway در اینجاست که اگر ما بیشتر از یک اینترفیس شبکه روی سیستم موجود داشته باشیم میتوانیم تنها برای یکی default gateway تعریف کنیم. شما میتوانید سریعا و با دستور زیر default gateway تعریف کنید :
کد:
# ip route add default via 192.168.50.100
کد:
$ sudo ip route add default via 192.168.50.100
همچنین توصیه میشود مطالعه کنید :
دستور netstat برای مدیریت شبکه در لینوکس
راهنمای جامع برای یک Sysadmin لینوکس به منظور مدیریت، عیب یابی و برطرف کردن مشکلات شبکه
13 دستور پیکربندی و عیب یابی شبکه در لینوکس
دستور ping به همراه 12 مثال عملی
باعث خوشحالی بنده هست اگر ایرادات من رو تصحیح کنید. لطفا برای کسب اطلاعات بیشتر دربار دستور ip صفحه man آن را در ترمینال مطالعه کنید.
موفق باشید
محمد هابیلی