Система UbuntuServer.
Есть 2 провайдера:
ООО Дон - внешний статический IP. Подключение по PPPoE
Энфорта - внешняя подсеть /30.
Сервер с 3-я сетевыми картами
eth0 192.168.0.10 - смотрит в 192.168.0.0/24
eth1 используется для поднятия PPPoE (адреса нет)
eth2 79.122.190.46 смотрит в сеть 79.122.190.44/30
ppp0 193.105.37.96 - PPPoE
Есть необходимость разделить трафик локальной сети на эти 2 канала.
Две локальных сети:
192.168.0.0/24 пользователей которой нужно выпускать в сеть через канал от ООО"Дон"
192.168.5.0/28 пользователей которой нужно выпускать в сеть через канал от Энфорты. (в оригинале это будет много подсетей (/29) из /24 и часть из них нужно будет отправить через второй канал)
Сеть 192.168.5.0/28 подключена через шлюз 192.168.0.14 (до применения нижеуказанных правил из сети 192.168.5.0/28 работал доступ в Интернет и в сеть 192.168.0.0/24).
По мануалу http://www.opennet.ru/base/net/debian_multilink.txt.html вроде бы всё сделал.
в rt_tables добавил
Код:
10 inet_don
20 net_enforta
в таблицы скриптом добавил маршруты
Код:
ip route show table inet_enforta
193.105.37.126 dev ppp0 scope link
79.122.190.44/30 dev eth2 scope link
192.168.5.0/28 via 192.168.0.14 dev eth0
192.168.0.0/24 dev eth0 scope link
127.0.0.0/8 dev lo scope link
default via 79.122.190.45 dev eth2
ip route show table inet_don
79.122.190.44/30 dev eth2 scope link
192.168.5.0/28 via 192.168.0.14 dev eth0
192.168.0.0/24 dev eth0 scope link
127.0.0.0/8 dev lo scope link
default dev ppp0 scope link
sudo ip route show table main
193.105.37.126 dev ppp0 proto kernel scope link src 193.105.37.96
79.122.190.44/30 dev eth2 proto kernel scope link src 79.122.190.46
172.0.0.0/29 via 192.168.0.12 dev eth0
192.168.4.0/24 via 192.168.0.100 dev eth0
192.168.3.0/24 via 192.168.0.100 dev eth0
192.168.2.0/24 via 192.168.0.100 dev eth0
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.10
default via 193.105.37.126 dev ppp0
Добавил правила в iptables
Код:
iptables -L -t mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
MARK all -- localnet/24 !localnet/24 MARK set 0xa
RETURN all -- localnet/24 !localnet/24
MARK all -- 192.168.5.0/28 !192.168.5.0/28 MARK set 0x14
MARK all -- 192.168.5.0/28 !localnet/24 MARK set 0x14
RETURN all -- 192.168.5.0/28 !localnet/24Интернет работает только в сети 192.168.0.0/24 но я подозреваю что маршрутизация идёт по таблице main. Если из main убрать default gateway то доступа в Интернет нет.
Если из сети 192.168.5.0/28 пинговать внешние адреса - эти пакеты дальше интерфейса eth0 моего сервера не выходят.
Как проверить ставится ли на них метка и попадают ли они в свои таблицы маршрутизации? Может я какие-то модули не включил?