Помогите реализовать задачкуЕсть три интерфейса ppp0, ppp1 и eth0.
Eth0 ? во внутреннюю сеть.
ррр0 и ррр1 ? на Интернет.Требуется:
Через ррр0 (с eth0 конечно) проходили, к примеру, только порты SMTP, FTP, POP3.
А через ррр1 только WWW.Как это дело промутить?
>Помогите реализовать задачку
>
>Есть три интерфейса ppp0, ppp1 и eth0.
>Eth0 ? во внутреннюю сеть.
>ррр0 и ррр1 ? на Интернет.
>
>Требуется:
>Через ррр0 (с eth0 конечно) проходили, к примеру, только порты SMTP, FTP,
>POP3.
>А через ррр1 только WWW.
>
>Как это дело промутить?может быть так...
ipfw add deny tcp from eth0 to any !21 via ppp0
ipfw add deny tcp from eth0 to any !25 via ppp0
ipfw add deny tcp from eth0 to any !110 via ppp0
ipfw add deny tcp from eth0 to any !80 via ppp1
>Помогите реализовать задачку
>
>Есть три интерфейса ppp0, ppp1 и eth0.
>Eth0 ? во внутреннюю сеть.
>ррр0 и ррр1 ? на Интернет.
>
>Требуется:
>Через ррр0 (с eth0 конечно) проходили, к примеру, только порты SMTP, FTP,
>POP3.
>А через ррр1 только WWW.
>
>Как это дело промутить?Только из того что написанно eth0 я понял что это Linux, а не BSD... хотя это вовсе не факт. Для Linux это делает пакет iproute2..
Вот примерно то что тебе нужно здалать:
bash# iptables -t mangle -I PREROUTING -p tcp -s 192.168.1.0/24 -d 200.185.61.96/28 --dport 25 -j MARK --set-mark 0x10
bash# iptables -t mangle -I PREROUTING -p tcp -s 192.168.1.0/24 -d 200.185.61.96/28 --dport 21 -j MARK --set-mark 0x10
bash# iptables -t mangle -I PREROUTING -p tcp -s 192.168.1.0/24 -d 200.185.61.96/28 --dport 110 -j MARK --set-mark 0x10
bash# iptables -t mangle -I PREROUTING -p tcp -s 192.168.1.0/24 -d 200.185.61.96/28 --dport 80 -j MARK --set-mark 0x15
Это пометит пакеты: smtp pop ftp метка - 0x10
www -- 0x15bash# iptables -t nat -A POSTROUTING -p tcp -d 0/0 -o ppp0 -j SNAT --to-source $IP_PPP0
bash# iptables -t nat -A POSTROUTING -p tcp -d 0/0 -o ppp1 -j SNAT --to-source $IP_PPP1
Это натит пакетыbash# echo "300 PPP0" >> /etc/iproute2/rt_tables
bash# echo "300 PPP1" >> /etc/iproute2/rt_tables
Это делается только один раз(создаются таблицы).bash# ip route add default via $IP_PROVA0 dev ppp0 table PPP0
bash# ip route add default via $IP_PROVA1 dev ppp1 table PPP1
bash# ip flush cache
bash# ip rule add fwmark 10 table PPP0
bash# ip rule add fwmark 15 table PPP1
Это зоздает маршруты и правила маршрутизации.
$IP_PROVA -- ip на стороне прова
$IP_PPP -- ip на твоей стороне
А вообще если чего не ясно можно глянуть здесь:
http://www.atmsk.ru/index.php?option=articles&task=viewartic...
>>Помогите реализовать задачку
>>
>>Есть три интерфейса ppp0, ppp1 и eth0.
>>Eth0 ? во внутреннюю сеть.
>>ррр0 и ррр1 ? на Интернет.
>>
>>Требуется:
>>Через ррр0 (с eth0 конечно) проходили, к примеру, только порты SMTP, FTP,
>>POP3.
>>А через ррр1 только WWW.
>>
>>Как это дело промутить?
>
хм...
а почему не сделать так:
iptables -t nat -A POSTROUTING --sport 80 -o ppp1 -j SNAT --to-source x.x.x.x
iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source x.x.x.xт.е натить http на ppp1 а все остальное на ppp0?
Буду эксперементировать.
Всем спасибо!
>>>Помогите реализовать задачку
>>>
>>>Есть три интерфейса ppp0, ppp1 и eth0.
>>>Eth0 ? во внутреннюю сеть.
>>>ррр0 и ррр1 ? на Интернет.
>>>
>>>Требуется:
>>>Через ррр0 (с eth0 конечно) проходили, к примеру, только порты SMTP, FTP,
>>>POP3.
>>>А через ррр1 только WWW.
>>>
>>>Как это дело промутить?
>>
>хм...
>а почему не сделать так:
>iptables -t nat -A POSTROUTING --sport 80 -o ppp1 -j SNAT --to-source
>x.x.x.x
>iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source x.x.x.x
>
>т.е натить http на ppp1 а все остальное на ppp0?Дело в том что правила NAT вставляются в цепочку POSTROUTING -- тоесть после принятия решения о маршрутизации, таким образом куда уйдет пакет?.. естественно на маршрут по умолчанию, а вот вернется уже в зависимости от NAT.
>>>>Помогите реализовать задачку
>>>>
>>>>Есть три интерфейса ppp0, ppp1 и eth0.
>>>>Eth0 ? во внутреннюю сеть.
>>>>ррр0 и ррр1 ? на Интернет.
>>>>
>>>>Требуется:
>>>>Через ррр0 (с eth0 конечно) проходили, к примеру, только порты SMTP, FTP,
>>>>POP3.
>>>>А через ррр1 только WWW.
>>>>
>>>>Как это дело промутить?
>>>
>>хм...
>>а почему не сделать так:
>>iptables -t nat -A POSTROUTING --sport 80 -o ppp1 -j SNAT --to-source
>>x.x.x.x
>>iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source x.x.x.x
>>
>>т.е натить http на ppp1 а все остальное на ppp0?
>
>Дело в том что правила NAT вставляются в цепочку POSTROUTING -- тоесть
>после принятия решения о маршрутизации, таким образом куда уйдет пакет?.. естественно
>на маршрут по умолчанию, а вот вернется уже в зависимости от
>NAT.
А если вместо POSTROUTING использовать PREROUTING?