LINUX.ORG.RU

Iptables, 2 real ip, 2 local ip.

 ,


1

1

Доброго времени суток!

Бьюсь над проблемой такой, есть шлюз на debian, у него есть 4 интерфейса:

  • eth0
  • eth2
  • eth3
  • eth4
    eth2 и eth4 это реальные ip адреса . eth0 смотрит в серую сеть 192.168.1.0/24, eth3 смотрим во вторую серую сеть 192.168.2.0/24.

    Как правильно сделать маршрутизацию для шлюза, что бы eth0 ходил через eth2 ,а eth3 через eth4.
    Добавил правило:
    -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j SNAT --to-source «белый ип eth2»
    -A POSTROUTING -s 192.168.2.0/24 -o eth4 -j SNAT --to-source «белый ип eth2».
    Подскажите светлые головы

Зачем через iptables то? Через iproute2 делай. Через маршрутизацию. типа ip route add default via ip_eth2 table 101 ip route add 192.168.1.0/24 via 192.168.1.1 table 101 ip rule add from 192.168.1.0/24 table 101

arsik ()
Ответ на: комментарий от arsik
ip route add default via ip_eth2 table 101
ip route add 192.168.1.0/24 via 192.168.1.1 table 101
ip rule add from 192.168.1.0/24 table 101
arsik ()
Ответ на: комментарий от arsik


Это не понял

ip route add 192.168.1.0/24 via 192.168.1.1 table 101


192.168.1.1 тут в роли чего? шлюза?

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

Да. Это шлюз в 192.168.1.0/24 Какой у тебя не знаю. Это что бы по дефолтному маршруту не уходили пакеты предназначенные для внутренней сети.

arsik ()
Ответ на: комментарий от myoldloverock

Не совсем воде. Тебе нужно маскарадинг на исходящих интерфейсах указать.

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

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth4 -j MASQUERADE

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

маскарадинг есть
1guk-dhcp# iptables -S -t nat
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
-A POSTROUTING -o eth4 -j MASQUERADE
Только

-A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE


не трогаю сейчас имхо сейчас юзьвери сидят

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

Ну еще нужно разрешить прохождение пакетов типа

iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT

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

Забыл. Еще и в обратную сторону надо

iptables -A FORWARD -i eth2 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth4 -o eth3 -m state --state ESTABLISHED,RELATED -j ACCEPT

Сейчас юзаю firehol вместо iptables, он на основании своих правил скриптом строит правила в iptables. Намного удобнее. Вместо портянок получается очень наглядно и лаконично.

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