URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 493
[ Назад ]

Исходное сообщение
"Очередной вопрос по IPTABLES"

Отправлено Alex_Kursant , 27-Фев-03 14:46 
Суть такая, есть локальная сеть 10.0.0.0/24 (eth1)
есть другая локальная сеть 192.168.0.0/24 (eth2) в которой находится веб и майл сервера
ну и соответственно есть интернет (eth0)
надо:
1) чтоб пользователи свободно бороздили просторы интернета ( с этим я справился)
2) чтоб пользователи из локалоной сети (eth1) могли забирать почту с почтового сервера (eth2) (не получилось)
3) чтоб почтовый сервер мог отправлять почту на другие почтовые сервера (не проверял)
4) чтоб пользователи из Интернета могли лазить на наш веб-сервер

Вот мой конфиг (x.x.x.x - реальный IP):
# WEB
-A POSTROUTING -p tcp -m tcp -s 192.168.0.25 --sport 80 -o eth0 -j SNAT --to-source x.x.x.x:80
-A POSTROUTING -p tcp -m tcp -s x.x.x.x --dport 80 -o eth2 -j SNAT --to-source 192.168.0.25:80
# MAIL naruju
-A POSTROUTING -p tcp -m tcp -s 192.168.0.20 --sport 25 -o eth0 -j SNAT --to-source x.x.x.x:25
-A POSTROUTING -p tcp -m tcp -s x.x.x.x --dport 25 -o eth2 -j SNAT --to-source 192.168.0.20:25
-A POSTROUTING -p tcp -m tcp -s 192.168.0.20 --sport 110 -o eth0 -j SNAT --to-source x.x.x.x:110
-A POSTROUTING -p tcp -m tcp -s x.x.x.x --dport 110 -o eth2 -j SNAT --to-source 192.168.0.20:110
# MAIL vovnutr
-A POSTROUTING -p tcp -m tcp -s 10.0.0.0/24 --dport 25 -o eth2 -j SNAT --to-source 192.168.0.20:25
-A POSTROUTING -p tcp -m tcp -s 10.0.0.0/24 --dport 110 -o eth2 -j SNAT --to-source 192.168.0.20:110
# MAIL and WEB
-A FORWARD -p tcp -m tcp -d 192.168.0.0/24 -i eth0 --dport 80 -j ACCEPT
-A FORWARD -p tcp -m tcp -s 192.168.0.0/24 -o eth0 --sport 80 -j ACCEPT
-A FORWARD -p tcp -m tcp -d 192.168.0.0/24 -i eth0 --dport 25 -j ACCEPT
-A FORWARD -p tcp -m tcp -s 192.168.0.0/24 -o eth0 --sport 25 -j ACCEPT
-A FORWARD -p tcp -m tcp -d 192.168.0.0/24 -i eth0 --dport 110 -j ACCEPT
-A FORWARD -p tcp -m tcp -s 192.168.0.0/24 -o eth0 --sport 110 -j ACCEPT
-A FORWARD -p tcp -m tcp -d 10.0.0.0/24 -i eth2 --dport 25 -j ACCEPT
-A FORWARD -p tcp -m tcp -s 10.0.0.0/24 -o eth2 --sport 25 -j ACCEPT
-A FORWARD -p tcp -m tcp -d 10.0.0.0/24 -i eth2 --dport 110 -j ACCEPT
-A FORWARD -p tcp -m tcp -s 10.0.0.0/24 -o eth2 --sport 110 -j ACCEPT

Буду очень благодарен за любую помощь!


Содержание

Сообщения в этом обсуждении
"RE: Очередной вопрос по IPTABLES"
Отправлено loki , 28-Фев-03 07:36 
в принципе не сложно
твой веб сервер - 192,168,0,5
твой почтовик - 192,168,0,10 (оба адреса для примера, заменишь на свои...)
теперь правила-
пропускаем из локалки на веб и на мыло
iptables -t nat -A PREROUTING -i eth1 -p tcp -d 0/0 --dport 80 -j DNAT --to-destination 192.168.0.5
iptables -t nat -A PREROUTING -i eth1 -p tcp -d 0/0 --dport 25 -j DNAT --to-destination 192.168.0.10
iptables -t nat -A PREROUTING -i eth1 -p tcp -d 0/0 --dport 110 -j DNAT --to-destination 192.168.0.10
хотя можно сразу пустить всех туда
iptables -t nat -A PREROUTING -i eth+ -p tcp -d 0/0 --dport 80 -j DNAT --to-destination 192.168.0.5
но это грозит потенциальной опасностью, так что лучше отдельно напиши строки для тех кто из инета т.е. с eth0
ну вот вроде бы и все....пиши если что....

"RE: Очередной вопрос по IPTABLES"
Отправлено Alex_Kursant , 28-Фев-03 11:58 
>пропускаем из локалки на веб и на мыло
>iptables -t nat -A PREROUTING -i eth1 -p tcp -d 0/0 --dport
>80 -j DNAT --to-destination 192.168.0.5
>iptables -t nat -A PREROUTING -i eth1 -p tcp -d 0/0 --dport
>25 -j DNAT --to-destination 192.168.0.10
>iptables -t nat -A PREROUTING -i eth1 -p tcp -d 0/0 --dport
>110 -j DNAT --to-destination 192.168.0.10
>хотя можно сразу пустить всех туда
>iptables -t nat -A PREROUTING -i eth+ -p tcp -d 0/0 --dport
>80 -j DNAT --to-destination 192.168.0.5
Так а если мой сервак отправляет почту ведь это он должен инициализировать соединение с другим сервером какие тогда правила нужны?
Ты смотрел мой конфиг? Чего там не правильно почему надо через цепочку PREROUTING a  не POSTROUTING?
Все ли у меня в порядке с цепочкой FORWARD?
Мне не очень хочется чтоб ты за меня цепочки писал я понимания хочу :)
Мануал почитал что здесь на опеннете лежит.... но как-то мне его не хватает :-|
Короче объясни если тебе не влом... пожалуйста

"RE: Очередной вопрос по IPTABLES"
Отправлено loki , 28-Фев-03 12:32 
Обьяснить навряд ли смогу,
твой конфиг в корне не верен, ты нагружаешь цепочку SNAT что тормозит прохождение пакетов, лучше использовать MASQUERADE.
А для понимания надо читать то что написано в мануале,
а про почтовик не могу понять, что ты хочешь?

"RE: Очередной вопрос по IPTABLES"
Отправлено Alex_Kursant , 28-Фев-03 13:14 
>твой конфиг в корне не верен, ты нагружаешь цепочку SNAT что тормозит
>прохождение пакетов, лучше использоватьMASQUERADE .
Так ведь MASQUERADE вроде для динамических IP и он вроде как раз больше нагружаетмашину чем NAT (если верить мануалу)

>а про почтовик не могу понять, что ты хочешь?
Ну вот ты предлагаешь такое правило использовать:
iptables -t nat -A PREROUTING -i eth1 -p tcp -d 0/0 --dport 25 -j DNAT --to-destination 192.168.0.10
Я так понимаю по-русски это звучит так: Пакет с интерфейса eth1 пришедший на любой адрес порт 25 (-d 0/0 --dport 25 так надо это понимать? Кстати может это должно так выглядеть -s 0/0 --dport 25 типа с любого адреса на порт 25 или тогда вместо 0/0 я должен конкретный адрес подставить типа -d 10.0.0.254 --dport 25) отправлять на 192.168.0.10?
Так?
Тоесть клиент из одной сети инициализирует соединение с сервером находящимся в другой сети это первый случай
Второй это когда сервер из своей сети лезет на другой сервер в интернете чтобы отдать ему почту - правильно?
Это же ведь другое правило?
iptables -t nat -A PREROUTING -i eth2 -p tcp -s 192.168.0.10 --sport 25 -j DNAT --to-destination x.x.x.x:25
или  -A POSTROUTING -o eth0 -p tcp -s 192.168.0.10 --sport 25 -j SNAT --to-source x.x.x.x:25
Не слишком путано? :)