LINUX.ORG.RU

Маршрутизация по источнику

 ,


0

1

Доброго дня! Есть домашний сервер и 2 провайдера.
Провайдер 1 - eth1.213 (192.168.0.200/24 gw 192.168.0.1)
Провайдер 2 - eth1.206 (192.168.3.200/24 gw 192.168.3.1)
локальная сеть - eth1.100 (192.168.100.200)
Через первого провайдера поднят туннель (tun100), на который заворачивается весь интернет.
Собственно требуется завернуть на второго провайдера все запросы с адресов 192.168.100.88-98
Маны почитал, но я практик. Мне нужно увидеть рабочий вариант, чтобы понять как оно работает. Кто-нибудь делал подобное?



Последнее исправление: hs85 (всего исправлений: 1)

Я не настоящий сварщик, но в общих чертах так:

iptables -t mangle -N policy-router
iptables -t mangle -N mark-for-forwarding
iptables -t mangle -A mark-for-forwarding MARK --set-mark 3
iptables -t mangle -A policy-router -s 192.168.100.88 -j mark-for-forwarding
ip route add default via 192.168.3.1 table vpn
ip rule add prio 100 from all fwmark 0x4 table vpn

Плюс тут ещё snat нужен, если на запросы с тех адресов хочется получить и ответы.

aidaho ★★★★★
()
Ответ на: комментарий от hs85

Число клиентских сетей ни на что не влияет. У тебя абсолютно стандартное условие роутинга - определенный список ip.

Единственно доп. условие - наличие туннеля через первого провайдера, но это всего лишь 1 доп. статический маршрут.

vel ★★★★★
()
Ответ на: комментарий от vel

Если число сетей ни на что не влияет, то каким условием клиенты 192.168.100.88-98 будут уходить через второй интерфейс, а все остальные в туннель? Это будет отлавливать iptables?

hs85
() автор топика
Ответ на: комментарий от hs85

без iptables

ip ru add from 192.168.0.88/29 table X
ip ru add from 192.168.0.96/31 table X
ip ru add from 192.168.0.98    table X

А с iptables совсем просто

iptables -t mangle -I PREROUTING 1 -m iprange --src-range 192.168.100.88-192.168.100.98 -j MARK --set-mark 1

ip ru add fwmark 1 lookup X

В таблицу X нужно скопировать все прямые маршруты из main. типа ip ro ls proto kernel | sed -e 's/^/ip ro add /' -e 's/$/ table X/' | sh - а маршрут по-умолчанию добавить через второго провайдера

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.