- Настройка TCP/IP в Debian
- проверка наличия драйверов сетевой карты
- просмотр текущей конфигурации сети
- динамическая настройка параметров сети
- включение / отключение сетевого интерфейса
- настройка маршрутизации
- добавление маршрутов
- просмотр таблицы маршрутов
- удаление маршрутов
- настройка DNS
- настройка параметров сети с помощью файлов конфигураций
- расположение конфигурационных файлов
- структура конфигурационных файлов
- interfaces
- resolv.conf
- перезагрузка сетевого сервиса
- примеры файлов
- Добавить маршрут linux debian
- Мой черновик
- четверг, 16 января 2014 г.
- Debian: Настройка сети
Настройка TCP/IP в Debian
проверка наличия драйверов сетевой карты
Чтобы узнать, загружены ли драйверы сетевой карты, запустите команду:
dmesg | grep eth
Если в результате Вы увидите какие-либо сообщения, содержащие текст ethX, то значит, драйверы установлены успешно, и необходимо только поднять/настроить интерфейс сетевой карты.
просмотр текущей конфигурации сети
Для того, чтобы узнать текущие параметры сети в Debian, есть очень простой способ — запустите команду:
Если среди отображаемых интерфейсов не присутствуют интерфейсы ethX (eth0, eth1, . ), то либо не загружены драйвера сетевой карты (она не опознана), либо не поднят сетевой интерфейс.
динамическая настройка параметров сети
Обратите внимание: в данном случае настройки сети будут применяться сразу же, но они не сохранятся после перезагрузки!
Для настройки IP адреса и маски подсети наберите в командной строке:
ifconfig -a netmask
например:
ifconfig -a eth0 192.168.1.15 netmask 255.255.255.0
для настройки шлюза по умолчанию укажите в командной строке
route add default gw
например:
route add default gw 192.168.1.1
включение / отключение сетевого интерфейса
После того, как Вы настроили сеть, она по-прежнему может бьть недоступна. Причиной может быть то, что не включен (т.е. не «поднят») сетевой интерфейс.
Включить сетевой интерфейс можно командой:
ifconfig up
например:
ifconfig eth0 up
или (основной способ) командой:
ifup
например:
ifup eth0
Отключить сетевой интерфейс не менее просто:
ifconfig down
например:
ifconfig eth0 down
или (основной способ) командой
ifdown
например:
ifdown eth0
настройка маршрутизации
добавление маршрутов
Маршруты добавляются командой:
route add -net / gw
например:
route add -net 192.168.5.0/24 gw 10.0.1.1
просмотр таблицы маршрутов
Для просмотра таблицы маршрутизации запустите команду:
netstat -rn
или
route -n
удаление маршрутов
Маршруты удаляются командой:
route delete -net /
например:
route delete -net 192.168.5.0/24
настройка DNS
возможна только через файл /etc/resolv.conf (см. ниже)
настройка параметров сети с помощью файлов конфигураций
Если Вы хотите настроить сеть таким образом, чтобы указанные параметры сети сохранялись и после перезагрузки системы, Вам необходимо изменить конфигурационные файлы.
расположение конфигурационных файлов
Настройка параметров сети (IP адрес, маска сети, шлюз, параметры DNS) производится в файл interfaces, который находится в папке /etc/network/.
Маршруты (из таблицы маршрутизации) также хранятся в файле /etc/network/interfaces.
Параметры DNS описываются в файле /etc/resolv.conf.
структура конфигурационных файлов
interfaces
Файл находится в папке /etc/network/.
Название параметра | Описание параметра | Возможные значения | Примеры использования |
---|---|---|---|
iface | ethX inet dhcp ethX inet static . | iface eth0 inet dhcp iface eth1 inet static | |
allow-hotplug | ethX | allow-hotplug eth0 | |
address | IP адрес | address 192.168.1.5 | |
netmask | маска подсети | netmask 255.255.255.0 | |
gateway | шлюз | gateway 192.168.1.1 | |
dns-nameservers | DNS сервер(ы) | dns-nameservers 192.168.1.1 dns-nameservers 192.168.1.1 192.168.5.1 | |
auto | автоматическое включение интерфейса при загрузке (должно быть последним параметром из всех параметров интерфейса) | ethX | auto eth0 auto eth1 |
up route | маршруты (настройка маршрутизации) | add -net / gw | up route add -net 192.168.0.0/24 gw 192.168.1.1 up route add -net 192.168.5.0/24 gw 192.168.1.10 up route add -net 5.5.5.0/24 gw 192.168.0.5 |
resolv.conf
Этот файл находится в папке /etc.
Название параметра | Описание параметра | Возможные значения | Пример использования |
---|---|---|---|
nameserver | адрес DNS сервера. Таких записей может быть несколько (не более 3-х) | nameserver 192.168.1.1 nameserver 192.168.1.2 | |
domain | имя локального домена (?) | domain mydom.local | |
search | подставляемое имя домена, если адрес задан не полностью | search mydom.local |
перезагрузка сетевого сервиса
Перезагрузить сетевой сервис (при этом перезагружаются все сетевые интерфейсы) в Debian можно командой:
/etc/init.d/networking restart
При этом перезапускаются все интерфейсы из файла /etc/network/interfaces.
примеры файлов
Пример файла /etc/network/interfaces:
Источник
Добавить маршрут linux debian
Как настроить статический маршрут описано тут. Когда у вас одна сетевая карточка то проблем нету, есть шлюз через который все идет, а как быть в ситуации когда у вас есть один внешний ip который видится наружу и локальный, при настройке двух шлюзов один будет перекрывать другой, с большой вероятностью это будет шлюз на интерфейсе с меньшим номером, и в результате этого один из интерфейсов будет не работать. Решается данная проблема очень просто добавлением статического маршрута и убиранием лишнего шлюза. Рассмотрим картинку снизу
И так перед тем как производить настройку дополнительного маршрута и перенаправлять сетевой трафик через нужный сетевой интерфейс, я вам покажу для начала свой конфигурационный файл /etc/network/interfaces.
Как добавить статический маршрут и пустить трафик через нужный интерфейс при двух сетевых интерфейсах в Ubuntu
Как вы видите есть два интерфейса на одном настроено (eth0), что добавляется маршрут в сетку 10.152.0.0/22 через устройство eth0 и ниже удаляется шлюз rt1 (192.168.102.251). С двумя основными шлюзами работать не будет, всегда будет конфликт на уровне метрик.
На интерфейсе со внешним ip адресом прописывается маршрут для любого адреса идти через eth1.
Посмотреть таблицу маршрутизации можно командой route или netstat -r
Вот текст конфига. Если при такой конфигурации что то не получается попробуйте закомментировать #allow-hotplug
# The primary network interface
auto eth1
#allow-hotplug eth0
iface eth1 inet static
address 192.168.102.133
netmask 255.255.252.0
gateway 192.168.102.251
dns-nameservers 192.168.102.1 192.168.102.6
post-up route add -net 10.152.0.0/22 dev eth0
post-up route add -net 172.16.110.0/24 dev eth0
post-up route del default gw rt1.ваш домен
auto eth0
#allow-hotplug eth1
iface eth0 inet static
address 95.79.103.77
netmask 255.255.255.128
gateway 95.79.103.1
dns-nameservers 91.144.184.1
dns-nameservers 91.144.186.1
post-up route add -net 0.0.0.0/0 gw 95.79.103.1 dev eth1
Вот так вот просто прописать статический маршрут в debian.
Источник
Мой черновик
четверг, 16 января 2014 г.
Debian: Настройка сети
Настройка сети в Linux Debian. Топик призван стать памяткой для системного администратора «как управлять сетью в Debian». В нем рассказываются основные принципы и действия по управлению сетевыми настройками этого семейства операционных систем.
Debian называет сетевые карты по имени eth и номеру. Виртуальные интерфейсы (loopback, vpn и т.п.) Debian именует отдельно, так-же по имени (например, tun, tap) и номеру за ним.
Например, если у Вас в компьютере 2 сетевых карты, то называться они будут по-умолчанию eth0 и eth1.
Следует учесть, что эта операционная система перманентно привязывает MAC-адрес физического сетевого интерфейса (сетевой карты) к номеру ethX. Так, если у Вас была сетевая карта в компьютере с именем eth0 и Вы ее поменяли, то, загрузившись после замены Вы не увидите ожидаемого eth0, а увидите уже eth1.
Как частный, но показательный случай: сервер с двумя сетевыми интерфейсами eth0 и eth1. Одна из сетевых карт сгорает и администратору приходится ее поменять. Запустив сервер он так и не дожидается ответа на пинг этого сетевого интерфейса. Зайдя под консолью — что он видит? Он видит старую вторую сетевую карту с именем eth1 и новую, но не с именем eth0, как ожидал, а с названием eth2! А это потому, что Debian закрепил за интерфейсом eth0 конкретный интерфейс с конкретным MAC-адресом.
Посмотреть закрепленные карты и их MAC можно по пути:
Отредактировав этот файл Вы можете удалить старые сетевые карты из списка Debian.
Долговременные настройки хранятся в файле /etc/network/interfaces
Вот пример файла:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.240
В этом файле определен IPv4 адрес 192.168.0.1 на сетевой карте eth0. Так-же определен шлюз по-умолчанию 192.168.0.250. Опция dns-nameservers оставлена на случай отсутствия в файле /etc/resolv.conf информации о DNS-серверах.
Следует учесть, что современный Debian не нуждается в строках network и broadcast, прекрасно вычисляя их самостоятельно из IP-адреса и маски. Однако если Вы хотите перезадать эти значения — указать такие опции придется.
А вот пример этого файла для 2х сетевых карт:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.240
auto eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
На ходу значения IP адресов можно менять утилитой ifconfig:
Эта команда поменяет у сетевой карты eth0 IPv4 адрес на 192.168.0.33 с маской /24.
Если сетевые реквизиты требуется получать по DHCP — указываем в файле interfaces, например:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
DNS-серверы указываются (не более трех) в файле:
Например, вот пример такого файла:
Поменяв в файле значения они сразу начинают действовать.
Имя машины и домен
Посмотреть или поменять на ходу имя машины можно командой hostname:
Домен указывается в файле:
например, вот как пример файла resolv.conf:
Перманентно имя машины можно поменять в файле:
Но помните, что после этого необходимо поменять так-же имя хоста в файле
Чтобы значения в нем соответствовали новому имени хоста (там прописаны такие вещи, как 127.0.0.1, например).
Схема статической маршрутизации в Debian традиционная: статические маршруты и шлюз по-умолчанию.
На-лету маршрутизацией можно управлять через утилиту route:
Эта команда добавит маршрут к сети 10.0.3.0:255.255.255.0 на роутер с адресом 192.168.0.251.
А эта команда наоборот, удалит маршрут 10.0.3.0/24.
Роутер по-умолчанию указывается как 0.0.0.0/32 или default, например:
Эта команда добавит шлюз по-умолчанию 192.168.0.250.
Посмотреть текущие маршруты можно командой:
Перманентно статические маршруты указываются в файле
Например, возьмем вот такой файл:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.240
up route add -net 10.0.0.0/24 gw 192.168.0.251
up route add -net 10.0.1.0/24 gw 192.168.0.252
up route add -net 10.0.2.0/24 gw 192.168.0.253
В этом файле видно, что:
а) Шлюз по-умолчанию 192.168.0.250
б) При поднятии интерфейса будут добавлены маршруты к сетям 10.0.0.0/24, 10.0.1.0/24 и 10.0.2.0/24 через, соответственно, 192.168.0.251, 192.168.0.252 и 192.168.0.253.
По-умолчанию система не выполняет маршрутизацию проходящих пакетов. Чтобы ее включить (превратить наш сервер в маршрутизатор) необходимо установить переменную ядра
Чтобы это значение сохранилось после перезагрузки — добавим его в файл
Вот такой строчкой:
Сетевые алиасы (несколько IP-адресов на одном интерфейсе)
Нередко можно встретить ситуацию, когда одной сетевой карте (или просто одному сетевому интерфейсу) необходимо назначить не один, а несколько IP-адресов. В таком случае:
а) Обязательно присваивается основной адрес интерфейсу ethX
б) Алиасы (добавочные IP-адреса) присваиваются как ethX:Y, где Y — номер алиаса
Например, вот так мы присвоим еще 2 IP-адреса интерфейсу eth0:
Перманентно эти интерфейсы указываются в том же файл, что и все остальные:
Давайте приведем пример такого файла:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
auto eth0:1
iface eth0:1 inet static
address 10.0.1.2
netmask 255.255.255.0
network 10.0.1.0
broadcast 10.0.1.255
auto eth0:2
iface eth0:2 inet static
address 10.100.10.3
netmask 255.255.255.0
network 10.100.10.0
broadcast 10.100.10.255
auto eth0:3
iface eth0:3 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
Тут видно, что мы указали один основной адрес и 3 алиаса. Следует заметить, что к алиасам нельзя применять опции gateway или dns-nameservers.
Для начала, убедитесь, что у Вас установлен пакет vlan:
Если нет, то устанавливаем:
Для того, чтобы VLANы устанавливались при перезагрузки — их необходимо прописать в файле
Например, вот пример такого файла:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
auto vlan333
iface vlan333 inet static
address 10.0.1.2
netmask 255.255.255.0
vlan_raw_device eth0
auto eth0.999
iface eth0.999 inet static
address 10.100.10.3
netmask 255.255.255.0
vlan_raw_device eth0
auto eth0.100
iface eth0.100 inet static
address 192.168.1.1
netmask 255.255.255.0
vlan_raw_device eth0
Здесь видно объявление 3х VLANов. Причем и запись vlan333, и записи вида eth0.999 верны. Отличие будет лишь в их название в виде интерфейсов. Я предпочитаю вид eth.XXX, что дает мне сразу информацию о том — на каком интерфейсе влан лежит.
Так-же добавилась опция vlan_raw_device, указывающая системе — на какой сетевой карте этот VLAN будет таггироваться.
В процессе работы VLANами можно управлять через утилиту vconfig. Например:
Эта команда добавит VLAN=777 к интерфейсу eth0.
А эта команда — удалить VLAN vlan777.
Что это такое — почитать можно в интернете. Для организации нам потребуются установленные bridge-utils. Проверим их наличие:
Если нет — ставим:
Мосты прописываются в файле
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# Physical interface
#auto eth0
#iface eth0 inet manual
#auto eth1
#iface eth1 inet manual
# The primary network interface
auto br0
iface br0 inet static
bridge_ports eth0 eth1
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.240
Тут видно, что мы не настраиваем сетевые карты (не прописываем им IP адрес, не даем получить реквизиты по DHCP). Это необходимо так и делать!
Сетевой мост мы называем br0. Уже на нем прописываем все необходимые реквизиты и указываем опцию bridge_ports, которая показывает — какие сетевые интерфейсы включать в этот мост.
На ходу мосты управляются утилитой brctl. Например, таким образом можно создать сетевой мост из 2х сетевых карт (карты не должны быть настроены и должны находиться в состоянии down):
Эта последовательность команд:
а) Создаст виртуальный коммутатор br0
б) Добавит в него сетевые интерфейсы eth0 и eth1
в) «Поднимет» мост (up), т.е. включит его
После этого мосту можно дать сетевые реквизиты (а можно и не давать — в таком случае эти сетевые карты будут работать как неуправляемый коммутатор, из-вне к ним через эти соединений подключиться будет нельзя).
Эта команда удалит из виртуального коммутатора (моста) интерфейс eth1.
А эта команда удалит мост br0 совсем.
Link aggregation (Bonding)
Агрегация интерфейсов — способ поднять скорость передачи данных и/или обеспечить отказоустойчивость путем использования двух или более физических сетевых карт. Работает это так, что несколько сетевых карт выступают в роли одной виртуальной (не путать с мостом!), при этом, в зависимости от режима работы, эти сетевые карты или увеличивают пропускную способность (в то количество раз — сколько объединено сетевых карт), или дают отказоустойчивость (т.е. работает одна карта, если она сдыхает — начинает работать вторая), или и то, и другое.
Для работы требуется установленный пакет ifenslave-2.6. Если не установлен — ставим:
Конфигурация прописывается в файле
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# Physical interface
#auto eth0
#iface eth0 inet manual
#auto eth1
#iface eth1 inet manual
# The primary network interface
auto bond0
iface bond0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.250
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.240
slaves eth0 eth1
bond_mode round-robin
bond_miimon 100
bond_downdelay 200
bond_updelay 200
Здесь видно, что физические карты не настраиваются — им не присваиваются статические IP адреса и не позволяется использовать DHCP для получения реквизитов. Вместо этого они участвуют в создании bond0 интерфейса, который уже и получает сетевые реквизиты.
ВНИМАНИЕ! На другой стороне сетевых кабелей необходимо, чтобы сетевые карты были настроены один-в-один так-же (т.е. работали в том же режиме). Если это аппаратные коммутаторы или маршрутизаторы — придется подбирать режим работы — какой поддерживается «железкой» на той стороне. Если это сервер — то лучше всего использовать:
а) такие-же сетевые карты (если это возможно)
б) такую-же ОС (это снизит вероятность сбоев в работе агрегатирования)
Автозапуск скриптов при поднятии/выключении интерфейса
Для этого служат 4 директории:
/etc/network/if-pre-up.d
/etc/network/if-up.d
/etc/network/if-down.d
/etc/network/if-post-down.d
Соответственно, в директории if-pre-up.d располагаются скрипты, которые запускается перед поднятием интерфейса; в if-up.d — скрипты, которые запускаются после поднятия интерфейса; в if-down.d — перед выключением интерфейса, а в if-post-down.d — после выключения.
Среди прочего, вызываемые скрипты могут использовать специальные переменные из окружения вызывающего процесса, например $IFACE (называние интерфейса) или $MODE (операция). Подробнее — в man-страницах.
Источник