Настройка сетевого интерфейса в Ubuntu

Ромчик
2

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 добавляем следующее:

  1. Первая строка: auto eth0, где auto указывает, что интерфейс eth0 включается автоматически, если Вы хотите запускать данный интерфейс в ручную, то вместо auto пишите manual
  2. iface eth0 inet static — указываем, что ip-адрес интерфейса eth0 статический
  3. address 192.168.0.1 — указываем ip адрес
  4. netmask 255.255.255.0 — указываем маску сети
  5. gateway 192.168.0.100 — указываем шлюз по умолчанию
  6. 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

И несколько замечаний:

  1. Вы можете делать комментарии в данном файле. комментарий начинается с #
  2. Если 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.

Понравилась статья? Поделись с друзьями.
  • Add to favorites
  • Добавить ВКонтакте заметку об этой странице
  • Twitter
  • Facebook
  • Мой Мир
  • LiveJournal
  • Одноклассники
  • Блог Я.ру
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • БобрДобр
  • LinkedIn
  • Memori.ru
  • Сто закладок
  • Blogger

  • Евгений - 05.03.2014 в 11:59

    Большое спасибо, отличная статья, именно то что мне нужно.

  • Иван - 21.01.2016 в 16:05

    О да статья хорошая, спасибо автору за труд.

  • ©2012-2017 По всем вопросам обращайтесь через форму обратной связи

    Яндекс.Метрика