Настройка
сети в 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.
Долговременные настройки хранятся в файле
Вот пример файла:
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-серверах.
А вот пример этого файла для 2х сетевых карт:
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:
# ifconfig eth0 inet 192.168.0.33 netmask 255.255.255.0
Эта команда поменяет у сетевой карты eth0 IPv4 адрес на 192.168.0.33 с маской /24.
Если сетевые реквизиты требуется получать по DHCP — указываем в файле interfaces, например:
# The primary network interface
auto eth0
iface eth0 inet dhcp
DNS-серверы указываются (не более трех) в файле:
Например, вот пример такого файла:
nameserver 192.168.0.240
nameserver 192.168.0.242
Поменяв в файле значения они сразу начинают действовать.
Имя машины и домен
Посмотреть или поменять на ходу имя машины можно командой hostname:
# hostname
myserver
# hostname boo
# hostname
boo
Домен указывается в файле:
например, вот как пример файла resolv.conf:
domain mydomain.ru
nameserver 192.168.0.240
nameserver 192.168.0.242
nameserver 192.168.0.244
Перманентно имя машины можно поменять в файле:
Но помните, что после этого необходимо поменять так-же имя хоста в файле
Чтобы значения в нем соответствовали новому имени хоста (там прописаны такие вещи, как 127.0.0.1, например).
Схема статической маршрутизации в Debian традиционная: статические маршруты и шлюз по-умолчанию.
На-лету маршрутизацией можно управлять через утилиту route:
# route add -net 10.0.3.0/24 gw 192.168.0.251
Эта команда добавит маршрут к сети 10.0.3.0:255.255.255.0 на роутер с адресом 192.168.0.251.
# route del -net 10.0.3.0/24
А эта команда наоборот, удалит маршрут 10.0.3.0/24.
Роутер по-умолчанию указывается как 0.0.0.0/32 или default, например:
# route add default gw 192.168.0.250
Эта команда добавит шлюз по-умолчанию 192.168.0.250.
Посмотреть текущие маршруты можно командой:
# netstat -r
Перманентно статические маршруты указываются в файле
Например, возьмем вот такой файл:
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.
По-умолчанию система не выполняет маршрутизацию проходящих пакетов.
Чтобы ее включить (превратить наш сервер в маршрутизатор) необходимо
установить переменную ядра
в значение «1».
# sysctl net.ipv4.ip_forward=1
Чтобы это значение сохранилось после перезагрузки — добавим его в файл
Вот такой строчкой:
# ifconfig eth0:1 inet 192.168.1.1 netmask 255.255.255.0
# ifconfig eth0:2 inet 192.168.2.1 netmask 255.255.255.0
Перманентно эти интерфейсы указываются в том же файл, что и все остальные:
Давайте приведем пример такого файла:
# 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:
Если нет, то устанавливаем:
# aptitude install vlan
Для того, чтобы VLANы устанавливались при перезагрузки — их необходимо прописать в файле
Например, вот пример такого файла:
# 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. Например:
# vconfig add eth0 777
Эта команда добавит VLAN=777 к интерфейсу eth0.
# vconfig rem vlan777
А эта команда — удалить VLAN vlan777.
Что это такое — почитать можно в интернете. Для организации нам потребуются установленные bridge-utils. Проверим их наличие:
Если нет — ставим:
# aptitude install bridge-utils
Мосты прописываются в файле
# 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):
# brctl addbr «br0»
# brctl addif br0 eth0
# brctl addif br0 eth1
# ifconfig br0 up
Эта последовательность команд:
а) Создаст виртуальный коммутатор br0
б) Добавит в него сетевые интерфейсы eth0 и eth1
в) «Поднимет» мост (up), т.е. включит его
После этого мосту можно дать сетевые реквизиты (а можно и не давать — в
таком случае эти сетевые карты будут работать как неуправляемый
коммутатор, из-вне к ним через эти соединений подключиться будет
нельзя).
# ifconfig br0 inet 192.168.0.254 netmask 255.255.255.0
# brctl delif br0 eth1
Эта команда удалит из виртуального коммутатора (моста) интерфейс eth1.
# brctl delbr br0
А эта команда удалит мост br0 совсем.
Link aggregation (Bonding)
Агрегация интерфейсов — способ поднять скорость передачи данных и/или
обеспечить отказоустойчивость путем использования двух или более
физических сетевых карт. Работает это так, что несколько сетевых карт
выступают в роли одной виртуальной (не путать с мостом!), при этом, в
зависимости от режима работы, эти сетевые карты или увеличивают
пропускную способность (в то количество раз — сколько объединено сетевых
карт), или дают отказоустойчивость (т.е. работает одна карта, если она
сдыхает — начинает работать вторая), или и то, и другое.
Для работы требуется установленный пакет ifenslave-2.6. Если не установлен — ставим:
# aptitude install ifenslave-2.6
Конфигурация прописывается в файле
# 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 директории:
Соответственно, в директории if-pre-up.d располагаются скрипты, которые
запускается перед поднятием интерфейса; в if-up.d — скрипты, которые
запускаются после поднятия интерфейса; в if-down.d — перед выключением
интерфейса, а в if-post-down.d — после выключения.
Среди прочего, вызываемые скрипты могут использовать специальные
переменные из окружения вызывающего процесса, например $IFACE (называние
интерфейса) или $MODE (операция). Подробнее — в man-страницах.
Scroll to navigation
- NAME ¶
- SYNOPSIS ¶
- DESCRIPTION ¶
- OPTIONS ¶
- ПРИМЕРЫ ¶
- ВЫВОД ¶
- ФАЙЛЫ ¶
- СМОТРИТЕ ТАКЖЕ ¶
- ИСТОРИЯ ¶
- ИМЯ ¶
- ОБЗОР ¶
- -нетто
- ПРИМЕРЫ ¶
- ВЫВОД ¶
- Проверка наличия драйверов сетевой карты
- Просмотр текущей конфигурации сети
- Динамическая настройка параметров сети
- Включение / отключение сетевого интерфейса
- Настройка маршрутизации
- добавление маршрутов
- просмотр таблицы маршрутов
- удаление маршрутов
- Настройка DNS
- Настройка параметров сети с помощью файлов конфигураций
- расположение конфигурационных файлов
- структура конфигурационных файлов
- interfaces
- resolv.conf
- Перезагрузка сетевого сервиса
- Примеры файлов
NAME ¶
route — show / manipulate the IP routing table
SYNOPSIS ¶
route
[ -CFvnNee
] [ -A
family | -4
| -6
]
- route
- [ -v
] [ -A
family | -4
| -6
] add[ -net
| -host
] target
[ netmask
Nm
]
[ gw
Gw
] [ metric
N
] [ mss
M
]
[ window
W
] [ irtt
I
] [ reject
]
[ mod
] [ dyn
] [ reinstate
] [[ dev
] If
] - route
- [ -v
] [ -A
family
| -4
| -6
] del[ -net
| -host
] target
[ gw
Gw
]
[ netmask
Nm
] [ metric
M
] [[ dev
]
If
] - route
- [ -V
] [ —version
] [ -h
] [ —help
]
DESCRIPTION ¶
Route
manipulates the kernel’s IP routing tables. Its primary use is to
set up static routes to specific hosts or networks via an interface after it
has been configured with the ifconfig
program.
When the add
or del
options are used, route
modifies the routing tables. Without these options, route
displays
the current contents of the routing tables.
OPTIONS ¶
- -A
family - use the specified address family (eg `inet’). Use route —help
for
a full list. You can use -6
as an alias for —inet6
and
-4
as an alias for -A inet - -F
- operate on the kernel’s FIB (Forwarding Information Base) routing table.
This is the default. - -C
- operate on the kernel’s routing cache.
- -v
- select verbose operation.
- -n
- show numerical addresses instead of trying to determine symbolic host
names. This is useful if you are trying to determine why the route to your
nameserver has vanished. - -e
- use netstat
-format for displaying the routing table. -eewill generate a very long line with all parameters from the routing
table. - del
- delete a route.
- add
- add a new route.
- target
- the destination network or host. You can provide an addresses or symbolic
network or host name. Optionally you can use /
prefixlennotation instead of using the netmask
option. - -net
- the target
is a network. - -host
- the target
is a host. - сетевая маска
НМ - при добавлении сетевого маршрута используемая маска сети.
- гв
ГВ - маршрутизируют пакеты через шлюз.
ПРИМЕЧАНИЕ:
Указанный шлюз должен быть доступен первым. Обычно это
означает, что вы должны заранее настроить статический маршрут к шлюзу. Если
вы указываете адрес одного из ваших локальных интерфейсов, он будет использоваться
для выбора интерфейса, на который должны направляться пакеты.
Это хак совместимости с BSDism. - метрическая
М - установить для поля метрики в таблице маршрутизации (используемой демонами маршрутизации) значение
М
. Если этот параметр не указан, метрика для inet6 (IPv6)
Семейство адресов по умолчанию равно «1», для inet (IPv4) по умолчанию равно «0». Ты
всегда следует указывать явное значение метрики, чтобы не полагаться на эти
дефолты — они тоже отличаются от iproute2. - мсс
М - устанавливает MTU (Maximum Transmission Unit) маршрута на M
байт. Примечание
что текущая реализация команды route не позволяет
параметр для установки максимального размера сегмента (MSS). - окно
Вт - установить размер окна TCP для соединений по этому маршруту равным W
байт.
Обычно это используется только в сетях AX.25 и с драйверами, не способными
обращаться спиной к спине кадры. - ирт
Я - установить начальное время приема-передачи (irtt) для TCP-соединений по этому маршруту.
до я
миллисекунды (1-12000). Обычно это используется только на AX.25.
сети. Если этот параметр опущен, используется значение по умолчанию RFC 1122, равное 300 мс. - отклонить
- установить блокирующий маршрут, который приведет к сбою поиска маршрута. Это
например, используется для маскировки сетей перед использованием маршрута по умолчанию. Этот
НЕ для брандмауэра. - мод, дин, восстановление
- установить динамический или модифицированный маршрут. Эти флаги предназначены для диагностики
целях и обычно устанавливаются только демонами маршрутизации. - разраб
Если - принудительно связать маршрут с указанным устройством, так как ядро
в противном случае попытается определить устройство самостоятельно (проверив уже
существующие маршруты и спецификации устройств, а также место добавления маршрута
к). В большинстве обычных сетей вам это не понадобится.Если dev
Если
это последний вариант команды
строка, слово dev
можно опустить, так как это значение по умолчанию. В противном случае
порядок модификаторов маршрута ( metric netmask gw dev
) не
иметь значение.
ПРИМЕРЫ ¶
- route add -net 127.0.0.0 маска сети 255.0.0.0 метрика 1024 dev lo
- добавляет обычную запись обратной связи, используя маску сети 255.0.0.0 и связанные
с устройством «lo» (при условии, что это устройство ранее было настроено
правильно с ifconfig
). - маршрут добавить -net 192.56.76.0 маска сети 255.255.255.0 метрика 1024 dev
eth0 - добавляет маршрут в локальную сеть 192.56.76.x через «eth0».
слово «dev» здесь можно опустить. - маршрут по умолчанию
- удаляет текущий маршрут по умолчанию, который помечен как «по умолчанию» или
0.0.0.0 в поле назначения текущей таблицы маршрутизации. - route del -net 192.56.76.0 маска сети 255.255.255.0
- удаляет маршрут. Поскольку ядро маршрутизации Linux использует бесклассовую
адресации, вам почти всегда нужно указывать сетевую маску, которая
так же, как показано в списке ‘route -n’. - маршрут добавить по умолчанию gw mango
- добавляет маршрут по умолчанию (который будет использоваться, если нет другого подходящего маршрута). Все
пакеты, использующие этот маршрут, будут направляться через адрес узла
под названием «манго». Устройство, которое фактически будет использоваться для этого
маршрут зависит от того, как мы сможем добраться до «манго» — «манго»
должен находиться на непосредственно доступном маршруте. - маршрут добавить манго sl0
- Добавляет маршрут к хосту с именем «mango» через интерфейс SLIP.
(при условии, что «манго» является хостом SLIP). - route add -net 192.57.66.0 маска сети 255.255.255.0 gw mango
- Эта команда добавляет сеть «192.57.66.x» для шлюза через
прежний маршрут к интерфейсу SLIP. - route add -net 224.0.0.0 маска сети 240.0.0.0 dev eth0
- Это задокументировано малоизвестно, чтобы люди знали, как это сделать. Это устанавливает
все IP-маршруты класса D (многоадресные) проходят через «eth0». Этот
это правильная нормальная строка конфигурации с многоадресным ядром. - маршрут добавить -net 10.0.0.0 маска сети 255.0.0.0 метрика 1024 отклонить
- Это устанавливает отвергающий маршрут для частной сети.
«10.х.х.х.» - маршрут -6 добавить 2001:0002::/48 метрика 1 dev eth0
- Добавляет прямой доступ к маршруту IPv6 с указанной метрикой.
через eth0.
ВЫВОД ¶
Вывод таблицы маршрутизации ядра организован в следующих столбцах.
- Пункт назначения
- Целевая сеть или целевой хост.
- Врата
- Адрес шлюза или ‘*’, если он не установлен.
- Генмаск
- Сетевая маска для сети назначения; «255.255.255.255» для хоста
пункт назначения и «0.0.0.0» для по умолчанию
маршрут. - Флаги
- Возможные флаги включают
У
(маршрут вверх
)Н
(цель — хозяин
)Г
(используйте шлюз
)Р
( восстановить
маршрут для динамической маршрутизации)Д
( динамически
устанавливается демоном или перенаправляется)М
( изменено
от демона маршрутизации или перенаправления)А
(установлен addrconf
)К
( тайник
вход)!
( отклонить
маршрут) - Метрическая
- «Расстояние» до цели (обычно считается в прыжках).
- Ссылка
- Количество ссылок на этот маршрут. (Не используется в ядре Linux.)
- Использовать
- Количество поисков маршрута. В зависимости от использования -F и -C это
будут либо промахи в кэше маршрутов (-F), либо совпадения (-C). - Ифейс
- Интерфейс, на который будут отправляться пакеты для данного маршрута.
- ПСС
- Максимальный размер сегмента по умолчанию для TCP-соединений по этому маршруту.
- Окно
- Размер окна по умолчанию для TCP-соединений по этому маршруту.
- ирт
- Начальное RTT (время приема-передачи). Ядро использует это, чтобы угадать
лучшие параметры протокола TCP без ожидания (возможно, медленно)
ответы. - HH (только в кэше)
- Количество записей ARP и кэшированных маршрутов, которые относятся к оборудованию.
кэш заголовков для кэшированного маршрута. Это будет -1, если аппаратный адрес
не требуется для интерфейса кэшированного маршрута (например, lo). - Арп (только в кэше)
- Независимо от того, соответствует ли аппаратный адрес кэшированного маршрута
дата.
ФАЙЛЫ ¶
/proc/net/ipv6_route
/proc/net/route
/proc/net/rt_cache
СМОТРИТЕ ТАКЖЕ ¶
ifconfig
, нетстат
, арп
, рэп
,
ип
ИСТОРИЯ ¶
Маршрут
для Linux изначально был написан Фредом Н. ван Кемпеном,
, а затем изменены Йоханнесом Штилле и
Линус Торвальдс для pl15. Алан Кокс добавил параметры mss и window для Linux.
1.1.22. irtt и объединен с netstat от Bernd Eckenfels.
В настоящее время поддерживается Филом Бланделлом и
Бернд Экенфельс
Перейти к навигации
ИМЯ ¶
route — показывать/управлять таблицей IP-маршрутизации
ОБЗОР ¶
- маршрут
- [ -v
] [ -А
семья | -4
| -6
] добавить[ -нетто
| -хозяин
] цель
[ сетевая маска
Нм
]
[ гв
Гв
] [ метрика
Н
] [ мсс
М
]
[ окно
Вт
] [ иртт
Я
] [ отклонить
]
[ мод
] [ дин
] [ восстановить
] [[ разработчик
] Если
] - маршрут
- [ -v
] [ -А
семья
| -4
| -6
] дел[ -нетто
| -хозяин
] цель
[ гв
Гв
]
[ сетевая маска
Нм
] [ метрика
М - ] [[ разработчик
]
Если
]
[ -V
-h
—помощь
]
управляет таблицами IP-маршрутизации ядра. Его
Основное использование — настройка статических маршрутов к определенным хостам или сетям через
интерфейс после его настройки с помощью ifconfig
программа.
Когда к
добавить
или дель
маршрут
изменяет таблицы маршрутизации. Без этих опций маршрут
дисплеи
текущее содержимое таблиц маршрутизации.
ВАРИАНТЫ
¶
- -6
- -4
-F
работают с таблицей маршрутизации ядра FIB (Forwarding Information Base).
Это значение по умолчанию.
-С
работают с кэшем маршрутизации ядра.
-v
выберите подробную операцию.
-n
показывать числовые адреса вместо попытки определить символический хост
имена. Это полезно, если вы пытаетесь определить, почему маршрут к вашему
сервер имен исчез.-e
использовать netstat
-формат для отображения таблицы маршрутизации.- -ee
сгенерирует очень длинную строку со всеми параметрами из роутинга
стол.- дель
удалить маршрут.
- добавить
- добавить новый маршрут.
-
-А
семья
использовать указанное семейство адресов (например, `inet’). Используйте маршрут —help
для
полный список. Вы можете использовать
как псевдоним для —inet6
и
как псевдоним для -A inet
цель
целевая сеть или хост. Вы можете указать адреса или символические
имя сети или хоста. При желании вы можете использовать
/
префикслен
обозначение вместо использования сетевой маски
вариант.
-нетто
цель
-
- цель
является хозяином.- сетевая маска
- цель
- ГВ
- маршрутизируют пакеты через шлюз.
- метрическая
М
- установить для поля метрики в таблице маршрутизации (используемой демонами маршрутизации) значение
М
. Если этот параметр не указан, метрика для inet6 (IPv6)
Семейство адресов по умолчанию равно «1», для inet (IPv4) по умолчанию равно «0». Ты
всегда следует указывать явное значение метрики, чтобы не полагаться на эти
дефолты — они тоже отличаются от iproute2. - мсс
М
- устанавливает MTU (Maximum Transmission Unit) маршрута на M
байт. Примечание
что текущая реализация команды route не позволяет
параметр для установки максимального размера сегмента (MSS). - окно
Вт
- установить размер окна TCP для соединений по этому маршруту равным W
байт.
Обычно это используется только в сетях AX.25 и с драйверами, не способными
обращаться спиной к спине кадры. - ирт
Я - установить начальное время приема-передачи (irtt) для TCP-соединений по этому маршруту.
до я
миллисекунды (1-12000). Обычно это используется только на AX.25.
сети. Если этот параметр опущен, используется значение по умолчанию RFC 1122, равное 300 мс. - отклонить
- установить блокирующий маршрут, который приведет к сбою поиска маршрута. Это
например, используется для маскировки сетей перед использованием маршрута по умолчанию. Этот
НЕ для брандмауэра. - мод, дин,
восстановить
- установить динамический или измененный маршрут. Эти флаги предназначены для диагностики
целях и обычно устанавливаются только демонами маршрутизации. - разраб
Если
- принудительно связать маршрут с указанным устройством, так как ядро
в противном случае попытается определить устройство самостоятельно (проверив уже
существующие маршруты и спецификации устройств, а также место добавления маршрута
к). В большинстве обычных сетей вам это не понадобится.Если dev
Если
это последний вариант команды
строка, слово dev
можно опустить, так как это значение по умолчанию. В противном случае
порядок модификаторов маршрута ( metric netmask gw dev
) не
иметь значение.
-хозяин
НМ
при добавлении сетевого маршрута используемая маска сети.
gw
ПРИМЕЧАНИЕ:
Указанный шлюз должен быть доступен первым. Обычно это
означает, что вы должны заранее настроить статический маршрут к шлюзу. Если
вы указываете адрес одного из ваших локальных интерфейсов, он будет использоваться
для выбора интерфейса, на который должны направляться пакеты.
Это хак совместимости с BSDism.
ПРИМЕРЫ ¶
- route add -net 127.0.0.0 маска сети 255.0.0.0 метрика 1024 dev lo
- добавляет обычную запись обратной связи, используя маску сети 255.0.0.0 и связанные
с устройством «lo» (при условии, что это устройство ранее было настроено
правильно с ifconfig
). - route add -net 192.56.76.0 маска сети 255.255.255.0 метрика 1024 dev
eth0 - добавляет маршрут в локальную сеть 192.56.76.x через «eth0».
слово «dev» здесь можно опустить. - маршрут по умолчанию
- удаляет текущий маршрут по умолчанию, который помечен как «по умолчанию» или
0.0.0.0 в поле назначения текущей таблицы маршрутизации. - route del -net 192.56.76.0 маска сети 255.255.255.0
- удаляет маршрут. Поскольку ядро маршрутизации Linux использует бесклассовую
адресации, вам почти всегда нужно указывать сетевую маску, которая
так же, как показано в списке ‘route -n’. - маршрут добавить по умолчанию gw mango
- добавляет маршрут по умолчанию (который будет использоваться, если нет другого подходящего маршрута). Все
пакеты, использующие этот маршрут, будут направляться через адрес узла
под названием «манго». Устройство, которое фактически будет использоваться для этого
маршрут зависит от того, как мы сможем добраться до «манго» — «манго»
должен находиться на непосредственно доступном маршруте. - маршрут добавить манго sl0
- Добавляет маршрут к хосту с именем «mango» через интерфейс SLIP.
(при условии, что «манго» является хостом SLIP). - route add -net 192.57.66.0 маска сети 255.255.255.0 gw mango
- Эта команда добавляет сеть «192.57.66.x» для шлюза через
прежний маршрут к интерфейсу SLIP. - route add -net 224.0.0.0 маска сети 240.0.0.0 dev eth0
- Это задокументировано малоизвестно, чтобы люди знали, как это сделать. Это устанавливает
все IP-маршруты класса D (многоадресные) проходят через «eth0». Этот
это правильная нормальная строка конфигурации с многоадресным ядром. - route add -net 10.0.0.0 маска сети 255.0.0.0 метрика 1024 reject
- Это устанавливает отвергающий маршрут для частной сети.
«10.х.х.х.» - маршрут -6 добавить 2001:0002::/48 метрика 1 dev eth0
- Добавляет прямой доступ к маршруту IPv6 с указанной метрикой.
через eth0.
ВЫВОД ¶
- Пункт назначения
- Целевая сеть или целевой хост.
- Врата
- Адрес шлюза или ‘*’, если он не установлен.
- Генмаск
- Сетевая маска для сети назначения; «255.255.255.255» для хоста
пункт назначения и «0.0.0.0» для значения по умолчанию
маршрут. - Флаги
- Возможные флаги включают
У
(маршрут вверх
)Н
(цель — хозяин
)Г
(используйте шлюз
)Р
( восстановить
маршрут для динамической маршрутизации)Д
( динамически
устанавливается демоном или перенаправляется)М
( модифицированный
от демона маршрутизации или перенаправления)А
(установлен addrconf
)К
( тайник
вход)!
( отклонить
маршрут) - Метрическая
- «Расстояние» до цели (обычно считается в прыжках).
- Ссылка
- Количество ссылок на этот маршрут. (Не используется в ядре Linux.)
- Использование
- Количество поисков маршрута. В зависимости от использования -F и -C это
будут либо промахи в кэше маршрутов (-F), либо совпадения (-C). - Ифейс
- Интерфейс, на который будут отправляться пакеты для этого маршрута.
- ПСС
- Максимальный размер сегмента по умолчанию для TCP-соединений по этому маршруту.
- Окно
- Размер окна по умолчанию для TCP-соединений по этому маршруту.
- ирт
- Начальное RTT (время приема-передачи). Ядро использует это, чтобы угадать
лучшие параметры протокола TCP без ожидания (возможно, медленно)
ответы. - HH (только в кэше)
- Количество записей ARP и кэшированных маршрутов, которые относятся к оборудованию.
кэш заголовков для кэшированного маршрута. Это будет -1, если аппаратный адрес
не требуется для интерфейса кэшированного маршрута (например, lo). -
Арп (кэшировано
только)
Независимо от того, соответствует ли аппаратный адрес кэшированного маршрута
дата.
ФАЙЛЫ ¶
/proc/net/ipv6_route
/proc/net/route
/proc/net/rt_cache
СМОТРИ ТАКЖЕ ¶
ifconfig
, арп
,
, ип
ИСТОРИЯ ¶
из одноименного пакета; раньше было
, а до этого
сохранили названия программ из соображений совместимости, что объясняет
команды ниже.
FRR (FRRouting) — это набор демонов, взаимодействующих для определения таблиц маршрутизации, которые будут использоваться ядром Linux; каждый протокол маршрутизации (особенно BGP, OSPF и RIP) предоставляет свой собственный демон (демоны).
и
демоны, которые всегда запущены, собирают информацию от других демонов и соответствующим образом обрабатывают статические таблицы маршрутизации. Другие демоны известны как
,
,
,
,
,
, и т. д.
Настройка каждого из этих демонов требует знания соответствующего протокола маршрутизации. These protocols cannot be described in detail here, but provides ample explanation in the form of both info
and HTML files. The same contents may be more browsed on the project’s website:
Проверка наличия драйверов сетевой карты
Чтобы узнать, загружены ли драйверы сетевой карты, запустите команду:
Если в результате Вы увидите какие-либо сообщения, содержащие текст ethX, то значит, драйверы установлены успешно, и необходимо только поднять/настроить интерфейс сетевой карты.
Просмотр текущей конфигурации сети
Для того, чтобы узнать текущие параметры сети в Debian, есть очень простой способ — запустите команду:
Динамическая настройка параметров сети
Обратите внимание: в данном случае настройки сети будут применяться сразу же, но они не сохранятся после перезагрузки!
Включение / отключение сетевого интерфейса
После того, как Вы настроили сеть, она по-прежнему может бьть недоступна. Причиной может быть то, что не включен (т.е. не «поднят») сетевой интерфейс.
Включить сетевой интерфейс можно командой:
ifconfig <имя-интерфейса> up
например:
ifconfig eth0 up
или (основной способ) командой:
ifup <имя-интерфейса>
например:
ifup eth0
Отключить сетевой интерфейс не менее просто:
ifconfig <имя-интерфейса> down
например:
ifconfig eth0 down
или (основной способ) командой
ifdown <имя-интерфейса>
например:
ifdown eth0
Настройка маршрутизации
добавление маршрутов
просмотр таблицы маршрутов
Для просмотра таблицы маршрутизации запустите команду:
netstat -rn
или
route -n
удаление маршрутов
Настройка DNS
возможна только через файл /etc/resolv.conf (см. ниже)
Настройка параметров сети с помощью файлов конфигураций
Если Вы хотите настроить сеть таким образом, чтобы указанные параметры сети сохранялись и после перезагрузки системы, Вам необходимо изменить конфигурационные файлы.
расположение конфигурационных файлов
Настройка параметров сети (IP адрес, маска сети, шлюз, параметры DNS) производится в файл interfaces
, который находится в папке /etc/network/
.
Маршруты (из таблицы маршрутизации) также хранятся в файле /etc/network/interfaces
.
Параметры DNS описываются в файле /etc/resolv.conf
.
структура конфигурационных файлов
interfaces
Файл находится в папке /etc/network/
.
resolv.conf
Этот файл находится в папке /etc
.
Перезагрузка сетевого сервиса
Перезагрузить сетевой сервис (при этом перезагружаются все сетевые интерфейсы) в Debian можно командой:
/etc/init.d/networking restart
При этом перезапускаются все интерфейсы из файла /etc/network/interfaces.
Примеры файлов
Пример файла /etc/network/interfaces
:
Пример файла /etc/resolv.conf
: