настройка маршрутизации в linux debian

Настройка TCP/IP в Debian

проверка наличия драйверов сетевой карты

Чтобы узнать, загружены ли драйверы сетевой карты, запустите команду:

Если в результате Вы увидите какие-либо сообщения, содержащие текст ethX, то значит, драйверы установлены успешно, и необходимо только поднять/настроить интерфейс сетевой карты.

просмотр текущей конфигурации сети

динамическая настройка параметров сети

Обратите внимание: в данном случае настройки сети будут применяться сразу же, но они не сохранятся после перезагрузки!

для настройки шлюза по умолчанию укажите в командной строке
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

настройка маршрутизации

добавление маршрутов

просмотр таблицы маршрутов

удаление маршрутов

настройка DNS

возможна только через файл /etc/resolv.conf (см. ниже)

настройка параметров сети с помощью файлов конфигураций

Если Вы хотите настроить сеть таким образом, чтобы указанные параметры сети сохранялись и после перезагрузки системы, Вам необходимо изменить конфигурационные файлы.

расположение конфигурационных файлов

Настройка параметров сети (IP адрес, маска сети, шлюз, параметры DNS) производится в файл interfaces, который находится в папке /etc/network/.
Маршруты (из таблицы маршрутизации) также хранятся в файле /etc/network/interfaces.
Параметры DNS описываются в файле /etc/resolv.conf.

структура конфигурационных файлов

interfaces

Файл находится в папке /etc/network/.

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:

Источник

Например, в Red Hat / Fedora Linux вы можете добавить статический маршрут для сетевого интерфейса eth0, отредактировав файл / etc / sysconfig / network-scripts / route-eth0. В Debian Linux добавьте статический маршрут, отредактировав файл / etc / network / interface.

Отображение текущей таблицы маршрутизации с помощью команды ip

Используя команду ip, вы можете настроить и просмотреть статический маршрут. Например, чтобы отобразить текущую таблицу маршрутизации, вы можете ввести команду:
# ip route show
Пример вывода:

192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.1 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2 по умолчанию через 192.168.1.254 dev eth0

Маршруты сохраняемости Linux

Недостатком команд «ip» или «route» является то, что при перезагрузке системы Linux она забывает статические маршруты. Так что сохраните их в файле конфигурации. Статическая маршрутизация описывает систему, в которой не реализована адаптивная маршрутизация. В этих системах маршруты через сеть передачи данных описываются фиксированными путями (статически). Эти маршруты обычно вводятся в маршрутизатор системным администратором.

Red Hat (RHEL) / CentOS / Fedora Linux Постоянная статическая маршрутизация

Вам нужно открыть файл / etc / sysconfig / network-scripts / route-eth0, чтобы определить статические маршруты для интерфейса eth0:
# cat /etc/sysconfig/network-scripts/route-eth0
Пример вывода:

GATEWAY0 = 192.168.1.254 NETMASK0 = 255.255.255.0 ADDRESS0 = 192.168.55.0 GATEWAY1 = 10.164.234.112 NETMASK1 = 255.255.255.240 ADDRESS1 = 10.164.234.132

Замечание о CentOS 7.x / RHEL 7.x и постоянном статическом маршруте

В современной версии CentOS 7 или RHEL 7 вам необходимо создать файл с именем / etc / sysconfig / network-scripts / route-eth0 и обновить его следующим образом:
# vi /etc/sysconfig/network-scripts/route-eth0
Добавить постоянный статический маршрут:
172.16.1.0/24 via 10.10.8.254 dev eth0
сохранить и закрыть файл. Вы должны перезапустить сетевую службу:
# systemctl restart network
ИЛИ
# service restart network

Связано: Конфигурация статической маршрутизации Red Hat Enterprise Linux для версий 4.x / 5.x / 6.x / 7.x

Как определить статическую маршрутизацию для сети 10.0.0.0/8 через маршрутизатор 10.9.38.65?

Постоянная статическая маршрутизация Debian / Ubuntu Linux

Откройте файл конфигурации / etc / network / interfaces для настройки статических маршрутов в Debian или Ubuntu Linux:
# cat /etc/network/interfaces
Примеры выходных данных:

Статическая маршрутизация Debian / Ubuntu Linux для двух интерфейсов:

Вот обновленный файл конфигурации с именем / etc / network / interfaces:

Источник

Маршрутизация в Linux

Эта статья одна из статей про работу сетей в Linux. Вы уже знаете, что все данные в сети передаются в виде пакетов, а чтобы компьютер знал куда нужно отправить тот или иной пакет используются IP адреса. Но пакету, перед тем, как он достигнет точки назначения нужно пройти множество компьютеров и маршрутизаторов.

Каждому из маршрутизаторов нужно знать на какой компьютер передавать пакет дальше. Именно это мы и обсудим в этой статье. Сегодня нас будет интересовать маршрутизация в Linux, как это работает, как настроить правила и заставить все работать как нужно.

Сетевые маршруты в Linux

Как я уже сказал, сетевые маршруты необходимы чтобы компьютеры могли определить по какой цепочке должен пойти пакет, чтобы достигнуть цели. Маршруты можно настроить на уровне интерфейса или маршрутизатора.

Когда компьютеру нужно отправить пакет в сеть он смотрит таблицу маршрутизации, в ней указанны ip адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан то используется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше.

Ниже мы рассмотрим как проверить текущие маршруты в системе, а также как настроить новые.

Как посмотреть таблицу маршрутизации

Перед тем как что-либо менять, нужно понять какие правила уже используются. В Linux для этого существует несколько команд. Чтобы посмотреть таблицу маршрутизации можно использовать команду route:

Вот так выглядит таблица маршрутизации linux. Тут выводится достаточно простая информация, которой не всегда достаточно чтобы понять суть дела. Более подробно можно посмотреть с помощью команды routel:

Вывод похож на результат предыдущей команды, но выглядит не совсем привычно, это потому, что вывод команды можно использовать в качестве аргумента для ip route add или ip route del. Это очень удобно. Как вы видите, в качестве шлюза по умолчанию везде используется 192.168.1.1. Рассмотрим подробнее что означает вывод этой команды:

А теперь рассмотрим выполняется настройка маршрутов Linux.

Настройка маршрутов в Linux

Вы можете настраивать таблицу маршрутизации с помощью команды ip. Например, чтобы изменить маршрут по умолчанию достаточно выполнить:

ip route add default via 192.168.1.1

Так вы можете добавить маршрут для любого IP адреса, например, для 243.143.5.25:

sudo ip route add 243.143.5.25 via 192.168.1.1

Все очень просто, сначала указывается IP адрес цели, а затем шлюз в локальной сети, через который можно достичь этого адреса. Но такие маршруты будут активны только до перезагрузки, после перезагрузки компьютера они будут автоматически удалены. Чтобы маршруты сохранились их нужно добавить в файл конфигурации.

В операционных системах семейства Red Hat используются конфигурационные файлы /etc/sysconfig/network-scripts/route-ethX. Каждый файл может описывать несколько маршрутов, например:

GATEWAY=10.10.0.1
NETMASK=255.0.0.0
IPADDR=10.10.0.22

Выводы

В этой небольшой статье мы кратко рассмотрели как работает маршрутизация в Linux, как выполняется настройка маршрутизации в linux, а также зачем это нужно. Надеюсь, эта информация была полезной для вас.

Источник

Пошаговая настройка роутера на Debian

Ранее я уже рассматривал настройку программных роутеров на операционных системах freebsd и centos. Сегодня я хочу настроить интернет шлюз для локальной сети на основе популярного linux дистрибутива Debian. Выполним подготовку сервера и реализуем основной функционал, необходимый для выхода в интернет из локальной сети.

Данная статья является частью единого цикла статьей про сервер Debian.

Введение

Я буду работать со следующим сервером:

Если у вас еще нет готового сервера, то рекомендую статью на тему установки debian. Там подробно описан весь процесс от и до.

На сервере имеются 2 сетевых интерфейса:

Описание сетевых интерфейсов

Интерфейс Описание IP
eth0 внешний интерфейс, подключен к провайдеру, настройки получает по dhcp автоматически 192.168.1.24
eth1 внутренний интерфейс, смотрит в локальную сеть, статический ip адрес 10.0.15.1

Файл конфигурации сетевых интерфейсов выглядит следующим образом:

Как настроить сеть в debian я подробно рассказал отдельно. Если вы еще не сделали это и не выполнили предварительную настройку debian, то рекомендую ознакомиться с материалами.

Подготовка шлюза

Выше я привел ссылку на подробную статью с описанием настройки сервера общего назначения. Сейчас мы выполним некоторые подготовительные действия без подробностей и описания. Их вы можете почитать отдельно. Сейчас просто необходимые команды.

Сеть на будущем программном роутере настроили, доступ в интернет на сервере есть. Обновим его:

Установим MC, мне в нем удобнее всего работать, в том числе в редакторе mcedit:

Настроим часовой пояс, если раньше не сделали это:

Устанавливаем сервис ntp для автоматического обновления времени:

На этом основные подготовительные действия закончены. Приступаем к настройке шлюза.

Настройка маршрутизации, firewall и nat

Первым делом включим маршрутизацию пакетов между сетевыми интерфейсами. Для этого редактируем конфиг /etc/sysctl.conf:

Либо раскомментируйте эту строку, либо добавьте, если ее нет. Но она по-умолчанию быть должна, закомментированная со значением 1. Применяем эту настройку:

На выходе работы команды в консоли будет выведен измененный параметр со значением 1.

Копируем содержимое файла и создаем скрипт с правилами на сервере:

Вставляем в редактор правила. Редактируем их под свои нужды, обязательно заменяя переменные WAN и LAN на свои. Сохраняем файл.

Делаем файл с правилами исполняемым:

Прежде чем применить новые правила, посмотрим на текущие:

Видим, что на настраиваемом роутере firewall полностью открыт. Теперь применим новые правила и посмотрим на результат:

Все в порядке, правила применились, доступ к серверу я не потерял. Теперь сделаем так, чтобы новые правила применялись после перезагрузки. В последней строчке скрипта есть команда:

С ее помощью готовый набор правил iptables выгружаются в файл. Нам нужно сделать так, чтобы эти правила применялись при включении сетевого интерфейса во время загрузки сервера. Для этого открываем файл interfaces на редактирование и добавляем в самый конец строчку:

Для проверки перезагружаем шлюз и проверяем, все ли в порядке. По сути основная настройка программного роутера на debian завершена. Осталось сделать небольшое дополнение и настроить dhcp и dns сервер в локальной сети. Я для этих целей использую простой и легкий в настройке dnsmasq.

Установка и настройка dnsmasq в Debian

Выполним установку dnsmasq на дебиан:

Сделаем минимальную настройку программы. Нам нужно просто выдавать сетевые настройки пользователям. Для этого приводим конфигурационный файл dnsmasq к следующему виду:

В данном случае мы будем выдавать пользователям ip адреса в диапазоне от 10.0.15.50 до 150. Сохраняем конфиг, добавляем программу в автозагрузку и запускаем.

Теперь можно запускать компьютер пользователя локальной сети, получать сетевые настройки по dhcp и проверять работу интернет шлюза.

Посмотреть выданные leases можно в файле /var/lib/misc/dnsmasq.leases. На этом настройка интернет шлюза на debian 8 закончена. Все что нужно для обеспечения доступа в интернет из локальной сети сделано. Получился программный роутер с широкими возможностями по наращиванию функционала.

Просмотр загрузки сети с помощью iftop

Устанавливаем iftop на debian:

Для просмотра активности сетевого интерфейса, запускаем утилиту, указывая необходимый ключ:

На основе этой картинки уже можно сделать определенные выводы по использованию интернет канала. Обращаю внимание, что я смотрю загрузку локального интерфейса eth1. Если смотреть на eth0, то мы увидим только исходящие соединения сервера.

Заключение

Вот так легко и быстро можно настроить роутер, маршрутизатор или шлюз в интернет. Названия разные, а суть одна. В данном случае я использовал операционную систему Debian, но схожий функционал легко организовать на Freebsd или CentOS. Для решения текущей задачи разница в работе не будет заметна. Каждый выбирает то, что больше нравится и к чему привык.

Пройдемся быстренько по этапам того, что сделали:

На этом мы закончили настройку. Как продолжение развития темы интернет шлюза можно заняться настройкой прокси сервера для управления доступам к ресурсам интернета, или сервера openvpn для подключения филиалов или удаленных сотрудников. Для примера привел ссылки на другие дистрибутивы. Со временем планирую описать реализацию этого функционала на debian. Принципиальных отличий нет, только нюансы разных дистрибутивов.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.

Источник

Мой черновик

четверг, 16 января 2014 г.

Debian: Настройка сети

Настройка сети в Linux Debian. Топик призван стать памяткой для системного администратора «как управлять сетью в Debian». В нем рассказываются основные принципы и действия по управлению сетевыми настройками этого семейства операционных систем.

Debian называет сетевые карты по имени eth и номеру. Виртуальные интерфейсы (loopback, vpn и т.п.) Debian именует отдельно, так-же по имени (например, tun, tap) и номеру за ним.

Например, если у Вас в компьютере 2 сетевых карты, то называться они будут по-умолчанию eth0 и eth1.

Следует учесть, что эта операционная система перманентно привязывает MAC-адрес физического сетевого интерфейса (сетевой карты) к номеру ethX. Так, если у Вас была сетевая карта в компьютере с именем eth0 и Вы ее поменяли, то, загрузившись после замены Вы не увидите ожидаемого eth0, а увидите уже eth1.

Посмотреть закрепленные карты и их 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-серверах.

А вот пример этого файла для 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.

# 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

В этом файле видно, что:

а) Шлюз по-умолчанию 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-адресов. В таком случае:

Например, вот так мы присвоим еще 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:

Если нет, то устанавливаем:

Например, вот пример такого файла:

# 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

В процессе работы VLANами можно управлять через утилиту vconfig. Например:

Эта команда добавит VLAN=777 к интерфейсу 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

# 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). Это необходимо так и делать!

На ходу мосты управляются утилитой brctl. Например, таким образом можно создать сетевой мост из 2х сетевых карт (карты не должны быть настроены и должны находиться в состоянии down):

Эта последовательность команд:
а) Создаст виртуальный коммутатор br0
б) Добавит в него сетевые интерфейсы eth0 и eth1
в) «Поднимет» мост (up), т.е. включит его

Эта команда удалит из виртуального коммутатора (моста) интерфейс eth1.

А эта команда удалит мост br0 совсем.

Link aggregation (Bonding)

Конфигурация прописывается в файле

# 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

а) такие-же сетевые карты (если это возможно)
б) такую-же ОС (это снизит вероятность сбоев в работе агрегатирования)

Автозапуск скриптов при поднятии/выключении интерфейса

Для этого служат 4 директории:

/etc/network/if-pre-up.d
/etc/network/if-up.d
/etc/network/if-down.d
/etc/network/if-post-down.d

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • настройка маршрутизатора билайн для windows 7
  • настройка маршрута по умолчанию в linux
  • настройка максимального числа процессоров в виндовс 7
  • настройка майнинга на linux на amd
  • настройка майнинга etc на windows

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии