И снова этот iproute2 :( [SOLVED]

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

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

echo "200 wimax" >> /etc/iproute2/rt_tables
ip rule add fwmark 2 table wimax
ip route add default via 94.25.172.1 dev wimax0 table wimax
ip route flush cache

Далее в iptables.

..........
iptables -A POSTROUTING -t nat -s 192.168.77.93 -o wimax0 -j MASQUERADE
iptables -t mangle  -A PREROUTING -p ALL -s 192.168.77.93 -j MARK --set-mark 2
..........

Но что-то не работает, трейсроут идет тока до шлюза(94.25.172.1) провайдера и там глохнет.

Что я делаю не так?

Опять отвечу сам

Опять отвечу сам себе.
Создаём таблицы для каждой подсети(т.е. сетевого интерфейса).
Например так

# cat /etc/iproute2/rt_tables
...вырезано.....
200     cable
201     wimax
202     dmz
203     lan

Далее в каджую таблицу добавляем все маршруты:

#table cable
ip route add wan_subnet dev eth0 src wan_ip table cable
ip route add dmz_subnet dev eth2 src dmz_ip table cable
ip route add lan_subnet dev eth1 src lan_ip table cable
ip route add default via wan_gw table cable  # дефолтные шлюзы нужны тока для каналов(таблиц) с инетом

# В эту таблицу(wimax) маршруты локальные не добавлял, т.к. снаружи, через этот интерфейс NAT'а нету.
ip route add wimax_subnet dev wimax0 src wimax_ip table wimax
ip route add default via wimax_gw table wimax # дефолтные шлюзы нужны тока для каналов с инетом

# table lan
ip route add dmz_subnet dev eth2 src dmz_ip table lan
ip route add lan_subnet dev eth1 src lan_ip table lan
ip route add wan_subnet dev eth0 src wan_ip table lan

# table dmz
ip route add dmz_subnet dev eth2 src dmz_ip table dmz
ip route add lan_subnet dev eth1 src lan_ip table dmz
ip route add wan_subnet dev eth0 src wan_ip table dmz

# Дефолтный шлюз черзе анлим-канал
ip route default via 94.25.172.1 dev wimax0

# Обнуляем кэш маршрутов.
ip route flush cache

Далее добавляем правила для раскидывания пакетов по таблицам

# Правила, чтобы ответ шёл с того же интерфейса на который пришёл пакет
ip rule add from wan_ip table cable
ip rule add from wimax_ip table wimax

# Чтобы из подсети dmz_subnet(dmz там как раз располагаеются сервисы к которым есть доступ снаружи) ответ шёл через интерфейс с внешним адресом.
ip rule add from dmz_subnet table cable

Далее делаем спокойно с помошью iptables NAT снаружи в dmz. Пакеты маркировать не надо.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".