Андрей Смирнов
Время чтения: ~12 мин.
Просмотров: 5

Настройка сети в Linux через конфиг-файлы, ч.1

По умолчанию в большинстве дистрибутивов Linux, ip адрес запрашивается автоматически по протоколу DHCP, независимо от того какой тип соединения используется, будь то проводной интернет или беспроводное подключение к точке доступа Wifi, USB модем или шнур Ethernet.

Но если необходимо вы можете задать ip адрес Linux вручную. Это может понадобиться если вы хотите настроить сеть вручную или хотите использовать статический ip адрес чтобы сеть запускалась быстрее при старте системы. Есть несколько способов ручной настройки ip адреса в системе Linux, все можно сделать через терминал или графический интерфейс.

В этой инструкции я расскажу как задать ip адрес в Linux. Мы будем рассматривать только ipv4 адреса, и поговорим о том, как настроить статический ip, который будет присваиваться сетевому интерфейсу автоматически, а также как установить ip для сетевого интерфейса с помощью утилиты ip.

Вы не можете установить любой IP для своего компьютера. Есть определенный диапазон значений, которые можно использовать. Также, если вы задаете IP вручную, то нужно указать и другие параметры, которые система раньше получала по DHCP. И перед тем как переходить к настройке давайте рассмотрим откуда взять эти данные.

Для статических IP адресов локальных сетей можно использовать любой из этих трех диапазонов:

  • 10.0.0.0 – 10.255.255.255
  • 172.16.0.0 – 172.31.255.255
  • 192.168.0.0 – 192.168.255.255

Они все зарезервированы для локальных сетей и их использование не должно вызвать конфликтов с общим интернетом. Но на практике нужно использовать IP адрес из того диапазона, в котором вам его выдает маршрутизатор.

Со шлюзом все немного сложнее. Это ваш маршрутизатор. Очень важно указать шлюз правильно, иначе компьютер не сможет получить доступ к сети. Посмотреть текущий адрес шлюза можно командой:

default via 192.168.0.1 dev wlan0 proto static

Здесь мы видим, что наш адрес шлюза — 192.168.0.1. Отсюда выплывает, что нам нужно выбирать наш ip именно из этого диапазона, например, 192.168.0.64.

Маска подсети используется чтобы отделить локальную часть ip адреса, которая меняется, от статической. Сейчас в большинстве случаев применяется значение 255.255.255.0. Теперь, когда вы знаете откуда брать все значения, рассмотрим как установить ip адрес linux.

Настройкой сети в Ubuntu по умолчанию занимается специальная служба networking, конфигурация которой находятся в файле /etc/network/interfaces. Стандартные настройки с использованием динамического получения ip адреса по DHCP выглядят следующим образом:

auto lo iface lo inet loopback iface eth0 inet dhcp

В этом примере настраиваются два интерфейса, lo и eth0. Нас будет интересовать только строчка, касающаяся проводного соединения eth0, она тут одна:

iface eth0 inet dhcp

Отредактируйте конфигурацию как показано ниже, нужно закомментировать строчку получения ip по DHCP и добавить вместо нее настройку статического ip адреса, подсети, и шлюза:

auto lo iface lo inet loopback # iface eth0 inet dhcp auto eth0 iface eth0 inet static address 192.168.0.65 netmask 255.255.255.0 gateway 192.168.0.1

Более подробно настройка сети Ubuntu через терминал описана в отдельной статье. Настройте параметры в соответствии с вашими параметрами сети. Затем перезапустите сетевые службы чтобы изменения вступили в силу без перезагрузки компьютера:

Чтобы убедиться что все установлено правильно используйте утилиту ip.

11086579303_abb6d46774_z.jpg

В системах, основанных на дистрибутиве Red Hat, файлы настройки немного отличаются. Тут за начальную настройку сети отвечает фреймворк Wiched.

Настройки получения ip адреса хранятся отдельно для каждого сетевого интерфейса в файлах /etc/sysconfig/network-scripts/ifcfg-имя_интерфейса, например, eth0. Настройки статического ip для сетевого адаптера с адресом eth0 будут выглядеть следующим образом:

DEVICE="eth0" BOOTPROTO="static" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" IPADDR=192.168.0.65 NETMASK=255.255.255.0

Дальше необходимо настроить шлюз по умолчанию:

NETWORKING=yes HOSTNAME=localhost GATEWAY=192.168.0.1

А затем DNS сервера:

nameserver 8.8.8.8 nameserver 8.8.4.4

Чтобы изменения вступили в силу перезапускаем сеть:

Готово, настройка ip адреса linux с помощью стандартных средств системы завершена и вы можете дальше использовать свой компьютер.

Другим способом установить ip адрес linux есть использование программы управления сетевыми соединениями для проводных и беспроводных сетей wicd. Утилита не входит в число программ, установленных по умолчанию поэтому нужно ее установить. В Ubuntu это делается следующей командой:

Для запуска консольного интерфейса wicd используйте:

Перед вами откроется основанный на ncurces интерфейс со списком доступных сетевых подключений.

11086470436_8f04292429_z.jpg

Чтобы задать статический ip linux нужно проделать несколько шагов. Сначала выделите сеть или сети, которые нужно настроить, а затем нажмите клавишу стрелка вправо. Это откроет меню настроек для сетевого подключения:

11086480214_b30d2b53dd_z.jpg

Выберите Use Static IP и нажмите кнопку пробел чтобы включить использование статического ip адреса, а затем укажите сам ip адрес, маску сети и шлюз:

11086480224_a45131b5e0_z.jpg

Для беспроводных сетей Wifi нужно еще указать пароль к точке доступа в поле key.

11086470246_c82e9d2ace_z.jpg

Далее, нажмите кнопку F10 чтобы сохранить введенную информацию и вернутся к списку сетей.

Если вам не нужно настраивать статический ip при загрузке, а необходимо только один раз задать ip адрес linux через терминал, то можно использовать утилиту ip.

Включите интерфейс, если он выключен:

Сначала нужно изменить ip linux и маску сети:

Затем добавить шлюз:

$ sudo ip route add default via 192.168.0.1

Готово, теперь ваша сеть должна работать. Только эти настройки будут работать до первой перезагрузки.

Вот и все. В этой статье мы рассмотрели как выполняется настройка ip адреса linux. Все это может показаться сложным, но если хорошо разобраться, то смена ip linux уже не будет вызывать таких проблем. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение, видео о том что значат цифры ip адреса и зачем они нужны:

Первое моё общение с Линуксом состоялось около шести лет назад. Тогда это был какой-то свежевышедший Red Hat, который мы с другом смогли установить, но при этом войти в него у нас так и не получилось. Однако статья не об этом. Позже через мои руки и голову прошли почти все семейства дистрибутивов Linux, и везде я замечал свои подходы к автонастройке сети. И в этом цикле статей я постараюсь осветить наиболее популярные из них. Надеюсь, они будут полезны тем пользователям, которые пока ещё нажимают на кнопки и проставляют галочки в графических менеджерах настройки, но уже понимают, что это не true 🙂 Возможно познавательными эти статьи будут и тем, кто (не от большого знания) пишет свои скрипты управления сетью и помещает их в какой-нибудь rc.localИтак, в первой части речь пойдёт о семействе номер один, одном из самых обширных по числу дистрибутивов, Red Hat based. Сюда, например, относятся такие используемые сейчас дистрибутивы, как:

  • Fedora
  • RHEL/CentOS
  • Mandriva
  • ASPLinux

Служебные скрипты для настройки сети и сами конфиг-файлы в этих дистрибутивах хранятся по традиции в каталоге /etc/sysconfig/network-scripts/ Там вы найдёте несколько скриптов ifup-* и столько же ifdown-*, которые, соответственно, поднимают или опускают определённый тип интерфейса, а также ifcfg-* (звёздочка — это имя), где хранятся настройки этих самых интерфейсов. Если сеть ещё не настроена, то вы обнаружите там ifcfg-lo, описывающий интерфейс loopback. В имеющейся у меня под рукой Fedora Core 7 этот файл выглядит следующим образом: (комментарии из файла удалены)DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback Не все параметры, перечисленные здесь являются обязательными. Зачастую чтобы задать интерфейс достаточно указать IPADDR и NETMASK. Параметр DEVICE необходим, если вы хотите, чтобы в имени скрипта после «ifcfg-» стояло не имя интерфейса, а какое-нибудь другое слово. Здесь же можно указывать такие параметры как GATEWAY, BOOTPROTO (static или dhcp), HWADDR (если есть желание изменить mac-адрес интерфейса) и так далее. Полный список возможных параметров зависит от типа поднимаемого интерфейса и дистрибутива. А, учитывая скудность официальной информации, его можно узнать и познать только перелопатив скрипты. Такими конфиг-файлами можно задавать различные ppp-интерфейсы, ip-туннели, vlan’ы и так далее. Следующий пример показывает настройку ipip-туннеля (ifcfg-tun0):DEVICE=tun0 MY_OUTER_IPADDR=172.16.0.2 PEER_OUTER_IPADDR=192.168.0.1 MY_INNER_IPADDR=10.0.0.2 PEER_INNER_IPADDR=10.0.0.1 TYPE=IPIP TTL=255 В этом примере мы, имея адрес 172.16.0.2, создаём туннель с машиной 192.168.0.1, указывая TTL=255, и присваиваем туннелю адрес 10.0.0.2 peer 10.0.0.1. Не все знают, что помимо файлов ifcfg-* в этом же каталоге можно помещать соответствующие им файлы rule-* и route-* Они нужны, соответственно, чтобы прописывать правила маршрутизации и сами маршруты (ip rule, ip route), например при использовании source-policy routing. Для указанного выше туннеля эти файлы могут выглядеть так.rule-tun0:from 10.0.0.2 lookup mytable route-tun0:default dev tun0 table mytable 192.168.0.0/24 dev tun0 Создав эти файлы мы снимаем с себя головную боль о том, чтобы соответствующие правила и маршруты создавались и удалялись при поднятии и опускании интерфейса соответственно. Ещё одна интересная возможность — автоматическое создание алиасов. Если у вас есть интерфейс eth0 с адресом 192.168.0.1, а вы хотите повесить ещё и 192.168.0.2, то достаточно создать файл ifcfg-eth0:1, куда вписать помимо вышеперечисленных параметров (IPADDR, NETMASK и так далее), ещё один — REALDEVICE=eth0. Если же вдруг возникла необходимость в создании большого числа алиасов, а отдельные файлы для каждого создавать не хочется, то и тут есть выход: нас спасёт ifcfg-eth0-range, который может выглядеть так:IPADDR_START=192.168.0.5 IPADDR_END=192.168.0.15 CLONENUM_START=3 Этот пример создаст интерфейсы eth0:3 — eth0:13 с адресами от 192.168.0.5 до 192.168.0.15. Ну и, наконец, нельзя не упомянуть о каталогах ifup.d и ifdown.d, лежащих там же (в /etc/sysconfig/network-scripts). В эти каталоги вы можете поместить свои файлы, которые будут выполняться при поднятии и опускании интерфейса. Вашим скриптам будет передан один параметр $1 — это имя интерфейса, который был поднят или опущен. Имея сеть, настроенную по этим принципам, вы всегда можете поднять/опустить отдельный интерфейс командой ifup name (ifdown name), где name — это ваш интерфейс. Чтобы перезагрузить всю сеть, достаточно набрать service network reload. Следующая часть будет посвящена не семейству, а одному дистрибутиву — Alt Linux. Несмотря на его прямые RedHat-корни, разработчики практически полностью заново написали всю систему управления сетью, которая получила имя etcnet и заслужила (на мой взгляд) более пристального внимания 🙂1-02-2015

По умолчанию в большинстве дистрибутивов Linux, ip адрес запрашивается автоматически по протоколу DHCP, независимо от того какой тип соединения используется, будь то проводной интернет или беспроводное подключение к точке доступа Wifi, USB модем или шнур Ethernet.

Но если необходимо вы можете задать ip адрес Linux вручную. Это может понадобиться если вы хотите настроить сеть вручную или хотите использовать статический ip адрес чтобы сеть запускалась быстрее при старте системы. Есть несколько способов ручной настройки ip адреса в системе Linux, все можно сделать через терминал или графический интерфейс.

В этой инструкции я расскажу как задать ip адрес в Linux. Мы будем рассматривать только ipv4 адреса, и поговорим о том, как настроить статический ip, который будет присваиваться сетевому интерфейсу автоматически, а также как установить ip для сетевого интерфейса с помощью утилиты ip.

Как узнать IP, шлюз и маску?

Вы не можете установить любой IP для своего компьютера. Есть определенный диапазон значений, которые можно использовать. Также, если вы задаете IP вручную, то нужно указать и другие параметры, которые система раньше получала по DHCP. И перед тем как переходить к настройке давайте рассмотрим откуда взять эти данные.

Для статических IP адресов локальных сетей можно использовать любой из этих трех диапазонов:

  • 10.0.0.0 – 10.255.255.255
  • 172.16.0.0 – 172.31.255.255
  • 192.168.0.0 – 192.168.255.255

Они все зарезервированы для локальных сетей и их использование не должно вызвать конфликтов с общим интернетом. Но на практике нужно использовать IP адрес из того диапазона, в котором вам его выдает маршрутизатор.

Со шлюзом все немного сложнее. Это ваш маршрутизатор. Очень важно указать шлюз правильно, иначе компьютер не сможет получить доступ к сети. Посмотреть текущий адрес шлюза можно командой:

 ip route show
default via 192.168.0.1 dev wlan0 proto static

Здесь мы видим, что наш адрес шлюза — 192.168.0.1. Отсюда выплывает, что нам нужно выбирать наш ip именно из этого диапазона, например, 192.168.0.64.

Маска подсети используется чтобы отделить локальную часть ip адреса, которая меняется, от статической. Сейчас в большинстве случаев применяется значение 255.255.255.0. Теперь, когда вы знаете откуда брать все значения, рассмотрим как установить ip адрес linux.

Настройка статического ip адреса

Настройкой сети в Ubuntu по умолчанию занимается специальная служба networking, конфигурация которой находятся в файле /etc/network/interfaces. Стандартные настройки с использованием динамического получения ip адреса по DHCP выглядят следующим образом:

auto loiface lo inet loopbackiface eth0 inet dhcp

В этом примере настраиваются два интерфейса, lo и eth0. Нас будет интересовать только строчка, касающаяся проводного соединения eth0, она тут одна:

iface eth0 inet dhcp

Отредактируйте конфигурацию как показано ниже, нужно закомментировать строчку получения ip по DHCP и добавить вместо нее настройку статического ip адреса, подсети, и шлюза:

 sudo vi /etc/network/interfaces
auto loiface lo inet loopback# iface eth0 inet dhcpauto eth0iface eth0 inet staticaddress 192.168.0.65netmask 255.255.255.0gateway 192.168.0.1

Более подробно настройка сети Ubuntu через терминал описана в отдельной статье. Настройте параметры в соответствии с вашими параметрами сети. Затем перезапустите сетевые службы чтобы изменения вступили в силу без перезагрузки компьютера:

 sudo service networking restart

Чтобы убедиться что все установлено правильно используйте утилиту ip.

 ip -a

kak-zadat-ip-adres-v-linux_1.jpg

В системах, основанных на дистрибутиве Red Hat, файлы настройки немного отличаются. Тут за начальную настройку сети отвечает фреймворк Wiched.

Настройки получения ip адреса хранятся отдельно для каждого сетевого интерфейса в файлах /etc/sysconfig/network-scripts/ifcfg-имя_интерфейса, например, eth0. Настройки статического ip для сетевого адаптера с адресом eth0 будут выглядеть следующим образом:

 sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"BOOTPROTO="static"NM_CONTROLLED="yes"ONBOOT="yes"TYPE="Ethernet"IPADDR=192.168.0.65NETMASK=255.255.255.0

Дальше необходимо настроить шлюз по умолчанию:

 nano /etc/sysconfig/network
NETWORKING=yesHOSTNAME=localhostGATEWAY=192.168.0.1

А затем DNS сервера:

 sudo vi /etc/resolv.conf
nameserver 8.8.8.8nameserver 8.8.4.4

Чтобы изменения вступили в силу перезапускаем сеть:

 sudo service network restart

Готово, настройка ip адреса linux с помощью стандартных средств системы завершена и вы можете дальше использовать свой компьютер.

Настройка статического ip в wicd

Другим способом установить ip адрес linux есть использование программы управления сетевыми соединениями для проводных и беспроводных сетей wicd. Утилита не входит в число программ, установленных по умолчанию поэтому нужно ее установить. В Ubuntu это делается следующей командой:

 sudo apt install wicd-curses

Для запуска консольного интерфейса wicd используйте:

 sudo wicd-curses

Перед вами откроется основанный на ncurces интерфейс со списком доступных сетевых подключений.

kak-zadat-ip-adres-v-linux_2.jpg

Чтобы задать статический ip linux нужно проделать несколько шагов. Сначала выделите сеть или сети, которые нужно настроить, а затем нажмите клавишу стрелка вправо. Это откроет меню настроек для сетевого подключения:

kak-zadat-ip-adres-v-linux_3.jpg

Выберите Use Static IP и нажмите кнопку пробел чтобы включить использование статического ip адреса, а затем укажите сам ip адрес, маску сети и шлюз:

kak-zadat-ip-adres-v-linux_4.jpg

Для беспроводных сетей Wifi нужно еще указать пароль к точке доступа в поле key.

kak-zadat-ip-adres-v-linux_5.jpg

Далее, нажмите кнопку F10 чтобы сохранить введенную информацию и вернутся к списку сетей.

Настройка IP адреса с помощью утилиты ip

Если вам не нужно настраивать статический ip при загрузке, а необходимо только один раз задать ip адрес linux через терминал, то можно использовать утилиту ip.

Включите интерфейс, если он выключен:

 sudo ip link set eth0 up

Сначала нужно изменить ip linux и маску сети:

 sudo ip addr add 192.168.0.65/255.255.255.0 dev eth0

Затем добавить шлюз:

$ sudo ip route add default via 192.168.0.1

Готово, теперь ваша сеть должна работать. Только эти настройки будут работать до первой перезагрузки.

Выводы

Вот и все. В этой статье мы рассмотрели как выполняется настройка ip адреса linux. Все это может показаться сложным, но если хорошо разобраться, то смена ip linux уже не будет вызывать таких проблем. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение, видео о том что значат цифры ip адреса и зачем они нужны:

Используемые источники:

  • https://losst.ru/kak-zadat-ip-adres-v-linux
  • https://habr.com/post/47230/
  • https://tapen.ru/1274-kak-zadat-ip-adres-v-linux.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации