[[ Маршрутизация ]]

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

Использование нескольких шлюзов на сервере

Пример 1

Использовать для обращения к адресу 84.19.186.78 шлюз 192.168.0.1

ip route add 84.19.186.78 via 192.168.0.2 dev eth0
Удалить маршрут
ip route del 84.19.186.78
С использованием маски
ip route add 84.19.186.0/255.255.255.0 dev eth0
Удалить маршрут
ip route del 84.19.186.0/255.255.255.0

Пример 2

Перенаправим трафик от компьютера 192.168.0.100 через шлюз 10.0.1.1
Создание таблицы маршрутизации с именем newroute и номером 200

nano /etc/iproute2/rt_tables 

Добавим

rt_tables

...
200 newroute

Создать правило для вхождения в таблицу newroute

ip rule add from 192.168.0.100 table newroute

Проверка

ip rule ls

Добавим в таблицу путь по умолчанию (default-gateway)

ip route add default via 10.0.1.1 dev eth1 table newroute

Проверка

ip route list table newroute

Обновить

ip route flush cache

Пример 3

По аналогии с Примером 2, только правила для трафика определяются через iptables

Создание правила маркирующего трафик идущий на 80 порт

iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 80 -j MARK --set-mark 105 \\

Создание правила, определяет, что пакеты с маркировкой 105 будут проходить через таблицу маршрутов newroute

ip rule add fwmark 105 table newroute

Обсуждение

lexa, 2009/08/05 17:14, 2009/12/15 12:47
ip rule del from 192.168.0.100 table newroute
ip rule del  fwmark 105 table newroute
Aleksey, 2019/04/04 13:09
ip route get 10.0.24.1
Ваш комментарий. Вики-синтаксис разрешён:
170 +10 = 
 
practice/route1.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki