Настройка сетевого интерфейса в Ubuntu
Доброго времени суток. Сегодня я хочу поговорить о том, как правильно настраивать сетевые интерфейсы в Ubuntu. Вы скажете, а что там настраивать зашел в NetworkManager и все настроил под графикой. Но NetworkManager не всегда корректно работает или вообще не работает (по крайней мере у меня). Поэтому я и остановлюсь на настройках сетевого интерфейса через консоль, а также рассмотрю так называемый mapping (а это уже будет полезно для тех у кого ноуты и они постоянно переключаются между различными сетями). Так, что кому интересно, читаем дальше…
[adsense][/adsense]
Как я уже говорил NetworkManager не всегда корректно работает или может быть я такой невезучий, но сколько я “сижу” на Ubuntu столько у меня проблемы с NetworkManager. Поэтому и настраиваю я сеть только через консоль — это быстро и удобно )).
Временная настройка сетевого интерфейса
Иногда приходиться быстро выполнить настройку сетевого интерфейса. И тут ничего сложного нет. Открываем терминал комбинацией клавиш Ctrl+Alt+t .
Следующим шагом нам необходимо узнать какой интерфейс нам нужно настроить. Для того, чтобы посмотреть все интерфейсы нужно набрать команду:
ifconfig - a
После того как узнали название нашего интерфейса в терминале вводим команду:
sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
где:
- sudo -выполнение команды от пользователя root,
- ifconfig — специальная утилита для просмотра и редактирования настроек сетевых интерфейсов,
- eth0 — название сетевого интерфейса настройки, которого мы хотим посмотреть или отредактировать (Вы должны указать свой сетевой интерфейс),
- 192.168.0.1 — ip адрес, который мы присваиваем сетевому интерфейсу(Вы должны указать свой ip адрес)
- netmask — служебное слово после, которого идет маска подсети в примере это 255.255.255.0 (Вы должны указать маску соответствующую Вашим сетевым настройкам)
- up — служебное слово, которое указывает что данный интерфейс необходимо “поднять” (включить)
И теперь осталось прописать шлюз. Для этого в терминале вводим следующую команду
sudo route default gw 192.168.0.100
где:
- sudo -выполнение команды от пользователя root,
- route — специальная утилита для просмотра и редактирования маршрутизации в Ubuntu
- default gw — указывает шлюз по умолчанию, в примере это 192.168.0.100 (Вы должны установить шлюз, который соответствует Вашим сетевым настройкам)
Вот в принципе и все. Для того, чтобы проверить применились ли настройки необходимо ввести команду ifconfig. И Вы должны увидеть нечто похожее:
eth0 Link encap:Ethernet HWaddr <mac адрес Вашего устройства> inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::8aae:1dff:fed2:b83d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:92969 errors:0 dropped:31 overruns:0 frame:0 TX packets:62195 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:61084227 (61.0 MB) TX bytes:7288313 (7.2 MB) Interrupt:46 Base address:0x8000
Единственный минус данной настройки — это при перезапуски интерфейса или самой системы все настройки пропадут.
Постоянная настройка сетевого интерфейса
Сразу хочу отметить, что данные настройки касаются Ububutu. В других дистрибутивах данные настройки могут отличаться.
Вся конфигурация сетевых интерфейсов находиться в файле /etc/network/interfaces
Откроем данный файл от имени root. Для этого в терминале(для того чтобы вызвать терминал необходимо нажать комбинацию клавиш Ctrl+Alt+t) введем следующую команду: sudo gedit /etc/network/interfaces Для открытия этого файла в редакторе gedit. Вы можете открыть в любом редакторе, главное от имени root. И мы увидим:
auto lo iface lo inet loopback
Это интерфейс lo, так называемое кольцо — этот интерфейс не трогайте он необходим для нормальной работы сети.
Теперь мы хотим настроить наш интерфейс eth0. В файл /etc/network/interfaces добавляем следующее:
- Первая строка: auto eth0, где auto указывает, что интерфейс eth0 включается автоматически, если Вы хотите запускать данный интерфейс в ручную, то вместо auto пишите manual
- iface eth0 inet static — указываем, что ip-адрес интерфейса eth0 статический
- address 192.168.0.1 — указываем ip адрес
- netmask 255.255.255.0 — указываем маску сети
- gateway 192.168.0.100 — указываем шлюз по умолчанию
- dns-nameservers 192.168.0.101 — указываем DNS-сервер
В итоге наш файл должен выглядеть следующим образом:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.100 dns-nameservers 192.168.0.101
И несколько замечаний:
- Вы можете делать комментарии в данном файле. комментарий начинается с #
- Если ip адрес должны получать по DHCP, то файл /etc/network/interfaces будет выглядеть следующим образом:
auto lo iface lo inet loopback iface eth0 inet dhcp
Для владельцев ноутбуков очень часто возникает ситуация, когда постоянно необходимо перенастраивать сеть (дома сеть одна, на работе — другая). И для таких ситуаций в Linux есть так называемое scheme-mapping
Настройка профилей сетевого интерфейса
scheme-mapping позволяет создать несколько профилей для сетевого интерфейса и менять настройки интерфейса одной командой.
Для использования данной категории необходимо установить ifscheme
Для этого в терминале вводим команду sudo apt-get install ifscheme
Допустим у нам надо сделать два профиля: home и work. На работе у нас настройки следующие:
auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.100 dns-nameservers 192.168.0.101
А в домашей сети мы будем получать ip по DHCP.
Переходим в файл /etc/network/interfaces и редактируем его.
auto lo iface lo inet loopback manual eth0 mapping eth0 script ifscheme-mapping iface eth0-work inet static address 192.168.10.2 netmask 255.255.255.0 gateway 192.168.10.1 dns-nameservers 82.207.82.1 iface eth0-home inet dhcp
Теперь мой интерфейс eth0 подключается в ручную. В строках
mapping eth0
script ifscheme-mapping
я указал, что мы будем использовать профили для eth0 и какой скрипт использовать.
В строке:
iface eth0-work inet static
мы указали название профиля для сетевого интерфейса eth0 и что будет использоваться статический ip адрес. Ниже указали ip, маску, шлюз и DNS.
А в строке
iface eth0-home inet dhcp
мы поределили другой профиль для eth0 и указали, что ip будет получать по DHCP.
Сохраняем настройки.
Теперь, если в терминале введем команду:
ifscheme -l
Увидим список всех схем. В нашем случае это: home и work.
Для того чтобы увидеть текущую схему, наберите команду:
ifscheme
И Вы должны увидеть, что-то похожее:
Current scheme is work.
Т.е. текущая схема work.
Для того, что бы изменить схему на другую, например home, нужно ввести команду:
sudo ifscheme home
И тогда eth0 автоматически перенастроится.
Вот в принципе и все. А да Вы можете указать какая схема должна грузиться по умолчанию или загружать ту схему, которая была последняя. Это настраивается в файле: /etc/default/ifscheme
Вот теперь точно все.
Так, что пользуйтесь и наслаждайтесь работой с Linux.
Большое спасибо, отличная статья, именно то что мне нужно.
О да статья хорошая, спасибо автору за труд.