Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
wiki:настройка_сети_вручную [2012/05/29 23:47] [Настройка IP адреса, шлюза по умолчанию, маски подсети] |
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 ===== | ||
| Строка 201: | Строка 220: | ||
| mtu 1476 # Значение MTU | mtu 1476 # Значение MTU | ||
| name {логин} # Ваш логин. | name {логин} # Ваш логин. | ||
| + | #nodefaultroute # Не быть шлюзом по умолчанию | ||
| + | defaultroute # Быть шлюзом по умолчанию | ||
| + | replacedefaultroute # Заменить шлюз по умолчанию если он был | ||
| remotename {vpn} # Имя удаленного сервера (для нас), может быть любым. | remotename {vpn} # Имя удаленного сервера (для нас), может быть любым. | ||
| pty "pptp {адрес_сервера} --nolaunchpppd" # Команда запуска pptp. | pty "pptp {адрес_сервера} --nolaunchpppd" # Команда запуска pptp. | ||
| Строка 346: | Строка 368: | ||
| ==== Ручная настройка роутинга ==== | ==== Ручная настройка роутинга ==== | ||
| - | Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную - Вы можете создать скрипт в //''/etc/ppp/ip-up.d/''//, например так: | + | Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную - Вы можете создать свой скрипт в //''/etc/ppp/ip-up.d/''//, либо по рекомендации официальной документации создать //''/etc/ppp/ip-up.local''// например так: |
| + | <code> | ||
| + | $ sudo nano /etc/ppp/ip-up.local | ||
| + | </code> | ||
| + | или | ||
| <code> | <code> | ||
| $ sudo nano /etc/ppp/ip-up.d/routing | $ sudo nano /etc/ppp/ip-up.d/routing | ||
| Строка 360: | Строка 386: | ||
| </file> | </file> | ||
| Далее - сделайте этот скрипт исполняемым, например так: | Далее - сделайте этот скрипт исполняемым, например так: | ||
| + | <code> | ||
| + | $ sudo chmod ug+x /etc/ppp/ip-up.local | ||
| + | </code> | ||
| + | или | ||
| <code> | <code> | ||
| $ sudo chmod ug+x /etc/ppp/ip-up.d/routing | $ sudo chmod ug+x /etc/ppp/ip-up.d/routing | ||
| Строка 463: | Строка 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> | ||
| === Настройка === | === Настройка === | ||
| Строка 617: | Строка 661: | ||
| auto wlan0 | auto wlan0 | ||
| </file> | </file> | ||
| - | |||
| Строка 672: | Строка 715: | ||
| </code> | </code> | ||
| - | Теперь, при запуске команды ''ifconfig'' должно отобразиться подключение eth0 с выставленными параметрами. | + | Теперь, при запуске команды ''ip addr'' должно отобразиться подключение eth0 с выставленными параметрами. |
| Если подключение отображается, но параметры не такие, какие были указаны в файле ''/etc/network/interfaces'', либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть. | Если подключение отображается, но параметры не такие, какие были указаны в файле ''/etc/network/interfaces'', либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть. | ||
| Строка 696: | Строка 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> | ||