Настройка сети вручную Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:настройка_сети_вручную [2014/12/03 19:58]
[Настройка Wi-Fi при помощи wpa-supplicant и /etc/network/interfaces]
wiki:настройка_сети_вручную [2018/01/22 18:46] (текущий)
[Требования к системе]
Строка 17: Строка 17:
   * У Вас есть все необходимые параметры для подключения в Вашей сети (например,​ IP-адрес,​ маска подсети и шлюз по умолчанию для соединения с использованием статического IP).   * У Вас есть все необходимые параметры для подключения в Вашей сети (например,​ IP-адрес,​ маска подсети и шлюз по умолчанию для соединения с использованием статического IP).
   * Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и "​знают"​ Ваш сетевой интерфейс.   * Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и "​знают"​ Ваш сетевой интерфейс.
-  * Драйвер Вашего сетевого устройства корректно установлен,​ кабель (при проводном соединении) исправен и подсоединен. ​Команда ​+  * Драйвер Вашего сетевого устройства корректно установлен,​ кабель (при проводном соединении) исправен и подсоединен. ​ 
 + 
 +Для настроек вам обязательно потребуется имя вашего сетевого адаптера. Его можно узнать из вывода команды: ​
 <​code>​ <​code>​
 $ sudo lshw -C network $ sudo lshw -C network
 </​code>​ </​code>​
-позволяет посмотреть подключенные сетевые устройства.\\+Она ​позволяет посмотреть подключенные сетевые устройства.\\ 
 Пример вывода команды:​ Пример вывода команды:​
 <​file>​ <​file>​
 ubuntu@ubuntu:​~$ sudo lshw -C network ubuntu@ubuntu:​~$ sudo lshw -C network
   *-network ​                 *-network ​              
-       ​description:​ Ethernet interface # Тип устройства  +       ​description:​ Ethernet interface ​                            ​# Тип устройства  
-       ​product:​ L2 100 Mbit Ethernet Adapter # Название адаптера +       ​product:​ L2 100 Mbit Ethernet Adapter ​                      ​# Название адаптера 
-       ​vendor:​ Attansic Technology Corp. # Производитель устройства+       ​vendor:​ Attansic Technology Corp.                           ​# Производитель устройства
        ​physical id: 0        ​physical id: 0
        bus info: pci@0000:​03:​00.0        bus info: pci@0000:​03:​00.0
-       ​logical name: eth0 # Имя сетевого интерфейса+       ​logical name: eth0                                          # Имя сетевого интерфейса
        ​version:​ a0        ​version:​ a0
-       ​serial:​ 00:​00:​00:​00:​00:​00 # Физический адрес устройства (mac-адрес)+       ​serial:​ 00:​00:​00:​00:​00:​00 ​                                  ​# Физический адрес устройства (mac-адрес)
        size: 100MB/s        size: 100MB/s
        ​capacity:​ 100MB/s        ​capacity:​ 100MB/s
Строка 41: Строка 44:
 ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
        ​configuration:​ autonegotiation=on broadcast=yes ​        ​configuration:​ autonegotiation=on broadcast=yes ​
-                      driver=atl2 # Используемый драйвер +                      driver=atl2 ​                                 # Используемый драйвер 
-                      driverversion=2.2.3 # Версия драйвера+                      driverversion=2.2.3 ​                         # Версия драйвера
                       duplex=full firmware=L2 ip=192.168.0.5 latency=0 ​                       duplex=full firmware=L2 ip=192.168.0.5 latency=0 ​
-                      link=yes # Наличие линка+                      link=yes ​                                    ​# Наличие линка
                       module=atl2 multicast=yes port=twisted pair                        module=atl2 multicast=yes port=twisted pair 
-                      speed=100MB/​s # Текущая скорость подключения.+                      speed=100MB/​s ​                               # Текущая скорость подключения.
 </​file>​ </​file>​
-Обратите внимание на пункт:+Обратите внимание на строку:
 <​file>​ <​file>​
-       ​logical name: eth0 # Имя сетевого интерфейса+       ​logical name: eth0 
 </​file>​ </​file>​
 +eth0 - это и есть искомое имя сетевого интерфейса.
  
 Имя ''​eth0''​ будет далее применяться для настройки именно данной сетевой карты. Где ''​eth''​ обозначает что используется [[http://​ru.wikipedia.org/​wiki/​Ethernet|Ethernet]] интерфейс,​ а ''​0''​ - номер устройства. Если у вас установлено несколько сетевых устройств,​ то, соответственно,​ им будут присвоены имена: ''​eth0'',​ ''​eth1'',​ ''​eth2''​ и т.д. Имя ''​eth0''​ будет далее применяться для настройки именно данной сетевой карты. Где ''​eth''​ обозначает что используется [[http://​ru.wikipedia.org/​wiki/​Ethernet|Ethernet]] интерфейс,​ а ''​0''​ - номер устройства. Если у вас установлено несколько сетевых устройств,​ то, соответственно,​ им будут присвоены имена: ''​eth0'',​ ''​eth1'',​ ''​eth2''​ и т.д.
 +
 +<note important>​После внедрения SystemD (начиная с Ubuntu 15.04) сетевые интерфейсы могут иметь другие имена (не ethX).
 +Сделано это для того, что бы имена сетевых устройств не менялись при подключении к машине новых адаптеров (в последнее время, некоторые USB модемы выступают в роли сетевого адаптера). В результате eth0 может называться например enp0s4 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.
 +
 +Более подробно о наименовании сетевых интерфейсов в SystemD можно почитать [[https://​www.freedesktop.org/​wiki/​Software/​systemd/​PredictableNetworkInterfaceNames/​|тут]] (англ.).
 +
 +Такое переименование можно отключить добавив в **/​etc/​default/​grub**,​ в строку с переменной **GRUB_CMDLINE_LINUX_DEFAULT** строку **net.ifnames=0**. После этого нужно выполнить **sudo update-grub**
 +</​note>​
 +
 +
  
 ===== Настройка проводной сети ===== ===== Настройка проводной сети =====
Строка 69: Строка 83:
 address 192.168.0.1 ​ address 192.168.0.1 ​
 netmask 255.255.255.0 ​ netmask 255.255.255.0 ​
-gateway 192.168.0.254 ​+gateway 192.168.0.254 
 +dns-nameservers 192.168.0.254 8.8.8.8
 auto eth0  auto eth0 
 </​code>​ </​code>​
Строка 77: Строка 92:
   * ''​netmask 255.255.255.0''​ - указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;​   * ''​netmask 255.255.255.0''​ - указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;​
   * ''​gateway 192.168.0.254''​ - адрес шлюза (''​gateway''​) по умолчанию 192.168.0.254;​   * ''​gateway 192.168.0.254''​ - адрес шлюза (''​gateway''​) по умолчанию 192.168.0.254;​
 +  * ''​dns-nameservers 192.168.0.254 8.8.8.8''​ - адреса DNS серверов (о ниж мы расскажем позже)
   * ''​auto eth0''​ - указывет системе что интерфейс ''​eth0''​ необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.   * ''​auto eth0''​ - указывет системе что интерфейс ''​eth0''​ необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.
  
 **eth0** - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:​ **eth0** - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:​
 <​code>​ <​code>​
-ifconfig -a+ip addr
 </​code>​ </​code>​
  
Строка 99: Строка 115:
 netmask 255.255.255.0 ​ netmask 255.255.255.0 ​
 gateway 192.168.0.254 ​ gateway 192.168.0.254 ​
 +dns-nameservers 192.168.0.254 8.8.8.8
 auto eth0  auto eth0 
 </​file>​ </​file>​
Строка 115: Строка 132:
 При необходимости задать пробные настройки,​ выполните:​ При необходимости задать пробные настройки,​ выполните:​
 <​code>​ <​code>​
-$ sudo ifconfig eth0 192.168.0.1 ​netmask 255.255.255.0 up +$ sudo ip addr add 192.168.0.1/24 dev eth0
 </​code>​ </​code>​
-Где 192.168.0.1 - наш IP-адрес, ​255.255.255.0 ​- наша маска подсети.\\+Где 192.168.0.1 - наш IP-адрес, ​/24 число бит в префиксной части ​адреса (соответствует ​маске подсети ​255.255.255.0). \\
 **eth0** - подключаемый сетевой интерфейс. **eth0** - подключаемый сетевой интерфейс.
  
 Данные настройки пропадут после перезагрузки системы и не повлияют на файл //''/​etc/​network/​interfaces''//​ Данные настройки пропадут после перезагрузки системы и не повлияют на файл //''/​etc/​network/​interfaces''//​
- 
- 
 ===== Настройка DNS ===== ===== Настройка DNS =====
  
-За конфигурацию DNS отвечает сервис resolvconf ​Он ​позволяет осуществить настройку DNS на основе данных от разных подсистем.\\ +За конфигурацию DNS отвечает ​утилита resolvconf, которая работает в паре ​с небольшим кеширующим DNS сервером dnsmasqresolvconf ​позволяет осуществить настройку DNS на основе данных от разных подсистем.\\ 
-Одним из следствий этого полезного нововведения (переход на сервис ​произошел в Ubuntu начиная с версии 12.04) является то, что теперь файл /​etc/​resolv.conf генерируется автоматически, ​и не индивидуально каждой программой,​ которая хочет исправить (например Network Manager или DHCP клиент), ​а через общий программный интерфейсЭто значит, что внесенные "​руками"​ изменения в /​etc/​resolv.conf ​будут потеряны.\\+Одним из следствий этого полезного нововведения (переход на эту ​схему произошел в Ubuntu начиная с версии 12.04) является то, что теперь файл /​etc/​resolv.conf генерируется автоматически, ​а не индивидуально каждой программой,​ которая хочет ​его ​изменить (порой перезаписывая правки сделанные ранее).  Автоматическая генерация /etc/resolv.conf означает, что внесенные "​руками"​ изменения в него будут потеряны.\\ 
 +Автоматически формируемый ​/​etc/​resolv.conf ​содержит ссылку на DNS сервер на локальном интерфейсе (127.0.1.1),​ а там (на 53 порту) и сидит сервис dnsmasq, который отвечает за разрешение символьных имен в IP адреса. Нужно отметить,​ что этот порт (53) открыт в режиме LISTEN, но т.к. это локальный интерфейс,​ то из внешней сети этот порт не доступен.\\
 Информацию о DNS для статических интерфейсов теперь надо вносить в /​etc/​network/​interfaces((что,​ по большому счету, вполне логично)) в параметры dns-nameservers,​ dns-search и dns-domain (которые соответствуют параметрам nameserver, search и domain в /​etc/​resolv.conf)\\ Информацию о DNS для статических интерфейсов теперь надо вносить в /​etc/​network/​interfaces((что,​ по большому счету, вполне логично)) в параметры dns-nameservers,​ dns-search и dns-domain (которые соответствуют параметрам nameserver, search и domain в /​etc/​resolv.conf)\\
-<​note>​Обратите внимание - в /​etc/​resolv.conf,​ при записи нескольких серверов используется несколько ключей nameserver, а в /​etc/​network/​interfaces все адреса DNS серверов записываются в одну строчку после ключа dns-nameservers,​ разделенные пробелами.</​note>​ +<​note>​Обратите внимание - в /​etc/​resolv.conf,​ при записи нескольких серверов используется несколько ключей nameserver, а в /​etc/​network/​interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers,​ разделенные пробелами.</​note>​ 
 +В итоге описание статического интерфейса в /​etc/​network/​interfaces должно выглядеть примерно так: 
 +<​code>​ 
 +iface eth0 inet static  
 +address 192.168.0.1  
 +netmask 255.255.255.0  
 +gateway 192.168.0.254  
 +dns-nameservers 8.8.8.8 192.168.0.254 
 +auto eth0  
 +</​code>​
 == Ubuntu до версии 12.04 == == Ubuntu до версии 12.04 ==
-Если в более старых версиях ubuntu есть необходимость указать DNS сервера (если они не выдаются автоматически) выполните:​+В более старых версиях ubuntu, когда ​есть необходимость указать ​статические адреса ​DNS серверов (если они не выдаются автоматически) выполните:​
 <​code>​ <​code>​
 $ sudo gedit /​etc/​resolv.conf $ sudo gedit /​etc/​resolv.conf
 </​code>​ </​code>​
  
-и впишите туда:+и впишите туда ​адреса DNS серверов (отдельные записи для каждого сервера):
  
 <​code>​ <​code>​
Строка 477: Строка 501:
 Ничего страшного,​ просто введите команду Ничего страшного,​ просто введите команду
 <​code>​ <​code>​
-sudo ifconfig ​wlan0 up+sudo ip link set dev wlan0 up
 </​code>​ </​code>​
 соответственно выключить устройство можно командой соответственно выключить устройство можно командой
 <​code>​ <​code>​
-sudo ifconfig ​wlan0 down+sudo ip link set dev wlan0 down
 </​code>​ </​code>​
  
Строка 691: Строка 715:
 </​code>​ </​code>​
  
-Теперь,​ при запуске команды ''​ifconfig''​ должно отобразиться подключение eth0 с выставленными параметрами.+Теперь,​ при запуске команды ''​ip addr''​ должно отобразиться подключение eth0 с выставленными параметрами.
 Если подключение отображается,​ но параметры не такие, какие были указаны в файле ''/​etc/​network/​interfaces'',​ либо возникают любые другие ошибки,​ перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть. Если подключение отображается,​ но параметры не такие, какие были указаны в файле ''/​etc/​network/​interfaces'',​ либо возникают любые другие ошибки,​ перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.
  
Строка 715: Строка 739:
 Например,​ интерфейсу //eth0// нужно добавить адрес //​192.168.1.1//​. Например,​ интерфейсу //eth0// нужно добавить адрес //​192.168.1.1//​.
 Кратковременно,​ до перезапуска сети: Кратковременно,​ до перезапуска сети:
-<​code>​sudo ​ifconfig eth0:​1 ​192.168.1.1</​code>​+<​code>​sudo ​ip addr add 192.168.1.1/24 dev eth0</​code>​
 Навсегда — добавить в ''/​etc/​network/​interfaces''​ следующее:​ Навсегда — добавить в ''/​etc/​network/​interfaces''​ следующее:​
 <​code>​ <​code>​