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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:настройка_сети_вручную [2013/04/21 23:28]
[Соединение PPTP]
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 сервера (если они не выдаются автоматически) выполните:​+За конфигурацию DNS отвечает утилита resolvconf, которая работает в паре ​с небольшим кеширующим DNS сервером dnsmasq. resolvconf позволяет осуществить настройку DNS на основе данных ​от разных подсистем.\\ 
 +Одним из следствий этого полезного нововведения (переход на эту ​схему произошел в 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)\\ 
 +<​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, когда есть необходимость указать статические адреса DNS серверов ​(если они не выдаются автоматически) выполните:​
 <​code>​ <​code>​
 $ sudo gedit /​etc/​resolv.conf $ sudo gedit /​etc/​resolv.conf
 </​code>​ </​code>​
  
-и впишите туда:+и впишите туда ​адреса DNS серверов (отдельные записи для каждого сервера):
  
 <​code>​ <​code>​
Строка 138: Строка 168:
  
 Где 192.168.0.100 и 192.168.0.200 - адреса DNS серверов. Если нужно добавить больше адресов - каждый адрес нужно начинать с новой строки и с фразы ''​nameserver ''​ Где 192.168.0.100 и 192.168.0.200 - адреса DNS серверов. Если нужно добавить больше адресов - каждый адрес нужно начинать с новой строки и с фразы ''​nameserver ''​
- 
-Более подробно про синтаксис файла //''/​etc/​resolv.conf''//​ можно прочитать в [[man_resolvconf|документации]]. ​ 
- 
-<note important>​Начиная c 12.04 в Ubuntu изменилась настройка DNS</​note>​ 
-С 12.04 за конфигурацию DNS отвечает программа resolvconf (вместо файла /​etc/​resolv.conf). ​ Она позволяет осуществить настройку DNS на основе данных от разных программ и файлов конфигурации.\\ 
-Одним из следствий этого полезного нововведения является то, что теперь файл /​etc/​resolv.conf генерируется автоматически. И не индивидуально каждой программой,​ которая его правит (например Network Manager или DHCP клиент),​ а через общий программный интерфейс. Это значит,​ что внесенные в /​etc/​resolv.conf изменения будут потеряны.\\ 
-Вместо /​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>​ 
- 
- 
- 
  
 ===== Настройка соединений ppp ===== ===== Настройка соединений ppp =====
Строка 474: Строка 493:
                     Extra: Last beacon: 388ms ago                     Extra: Last beacon: 388ms ago
 </​file>​ </​file>​
 +
 +Бывает,​ что Ваше устройство Wi-Fi не включено по умолчанию,​ тогда команда вместо рапорта,​ приведенного выше выдаст
 +такое сообщение:​
 +<​file>​
 +wlan0 Failed to read scan data : Network is down
 +</​file>​
 +Ничего страшного,​ просто введите команду
 +<​code>​
 +sudo ip link set dev wlan0 up
 +</​code>​
 +соответственно выключить устройство можно командой
 +<​code>​
 +sudo ip link set dev wlan0 down
 +</​code>​
  
 === Настройка === === Настройка ===
Строка 628: Строка 661:
 auto wlan0 auto wlan0
 </​file>​ </​file>​
- 
  
  
Строка 683: Строка 715:
 </​code>​ </​code>​
  
-Теперь,​ при запуске команды ''​ifconfig''​ должно отобразиться подключение eth0 с выставленными параметрами.+Теперь,​ при запуске команды ''​ip addr''​ должно отобразиться подключение eth0 с выставленными параметрами.
 Если подключение отображается,​ но параметры не такие, какие были указаны в файле ''/​etc/​network/​interfaces'',​ либо возникают любые другие ошибки,​ перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть. Если подключение отображается,​ но параметры не такие, какие были указаны в файле ''/​etc/​network/​interfaces'',​ либо возникают любые другие ошибки,​ перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.
  
Строка 707: Строка 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>​