[Comm] iptables_settings

Dmitry Dolgopolov =?iso-8859-1?q?dmdolg2002_=CE=C1_mail=2Eru?=
Вт Окт 24 11:19:55 MSD 2006



-----Original Message-----
From: Глазунов Алексей Александрович <glazunov на oblgaz.vrn.ru>
To: community на lists.altlinux.org
Date: Fri, 20 Oct 2006 16:01:25 +0400
Subject: [Comm] iptables_settings

> Есть необходимость научить программу "Дипост" ходить в инет в обход proxy.
> Функцию прокси, помимо прочих, выполняет ALTLinux Master 2.2.
> На ALTLinux-сервере стоит 2 сетевые карты:
> eth0 - смотрит в инет с IP 213.129.97.250
> eth1 - смотрит в локалку с IP 192.168.0.0/255.255.255.0
> Все ходят в инет только через squid.
> 
> Дипост рапотает с портами 25 и 110  и никаких настроек под прокси не имеет.
> Есть возможность другие порты указать. Решили, чтобы не сломать почту, что  
> нужно
> на сервере с локального компа 192.168.0.205 принимать запросы на порты  
> 3025 и 3110
> и передавать их далее на 195.98.64.73 в порты 25 и 110. Ответы с  
> 195.98.64.73
> соответвенно требуется переадресовать на 192.168.0.205.
> Сделал следующие настройки в iptables:
> 
> # Example iptables config file.
> # Note the this file uses the format of iptables-save
> # What follows is an example of this output.  However,
> # the actual rule lines have been commented out.
> # DO NOT USE THE -t (table) OPTION IN THIS FILE!
> *mangle
> :PREROUTING ACCEPT [0:0]
> :OUTPUT ACCEPT [0:0]
> #-A PREROUTING -p tcp --dport 22 -j TOS --set-tos 0x10
> COMMIT
> *filter
> :INPUT ACCEPT [0:0]
> :FORWARD ACCEPT [0:0]
> :OUTPUT ACCEPT [0:0]
> #-A FORWARD -i eth0 -j ACCEPT
> COMMIT
> *nat
> :PREROUTING ACCEPT [0:0]
> #195.98.64.73 - ip-server_bank
> #-A PREROUTING -p tcp --dport 25 -j REDIRECT --to-ports 3128
> #-A PREROUTING -p tcp -d 192.168.0.205 --dport 3025 -j DNAT  
> --to-destination 195.98.64.73:25
> #-A PREROUTING -p tcp -d 192.168.0.205 --dport 3110 -j DNAT  
> --to-destination 195.98.64.73:110
> 
> -A PREROUTING -p tcp -s 195.98.64.73 -d 213.129.97.252 --dport 25 -j DNAT  
> --to-destination 192.168.0.205:3025
> -A PREROUTING -p tcp -s 195.98.64.73 -d 213.129.97.252 --dport 110 -j DNAT  
> --to-destination 192.168.0.205:3110
> 
> :POSTROUTING ACCEPT [0:0]
> #-A POSTROUTING -p tcp --dport 110 -o eth0 -j SNAT --to-source  
> 213.129.97.252
> #-A POSTROUTING -p tcp -s 192.168.0.205 -d 192.168.0.201 -o eth0 -j SNAT  
> --to-source 213.129.97.252:25
> 
> -A POSTROUTING -p tcp -s 192.168.0.205 -o eth0 -j SNAT --to-source  
> 213.129.97.252:25
> -A POSTROUTING -p tcp -s 192.168.0.205 -o eth0 -j SNAT --to-source  
> 213.129.97.252:110
> 
> :OUTPUT ACCEPT [0:0]
> #-A POSTROUTING -o eth0 -j MASQUERADE
> COMMIT
> 
> 
> 
> "Дипост" так и не заработал :-(
> Как проверить правильно ли настроил iptables? Может еще чего-то нужно  
> подкрутить?
> 
> -- 
> С уважением,
> Глазунов Алексей Александрович
> Ведущий инженер-программист
> Отдел программирования и связи
> ОАО "ВОРОНЕЖОБЛГАЗ"
> (4732) 51-22-56
> _______________________________________________
> Community mailing list
> Community на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community

Если я не ошибаюсь, то в Вашем случае достаточно настраивать только POSTROUTING. Тогда настройки будут выглядеть так:
 *mangle
 :PREROUTING ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 COMMIT
 *filter
 :INPUT ACCEPT [0:0]
 :FORWARD ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
COMMIT
 *nat
:PREROUTING ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

 -A POSTROUTING -p tcp -s 192.168.0.205 --sport 3025 -o eth0 -j SNAT --to-source  
 213.129.97.252:25
 -A POSTROUTING -p tcp -s 192.168.0.205 --sport 3110 -o eth0 -j SNAT --to-source  
 213.129.97.252:110
 
:OUTPUT ACCEPT [0:0]
 COMMIT

Но это настройки вообще БЕЗ файервола, и это так оставлять нельзя.

С уважением,
Дмитрий Долгополов
тех. поддержка ЗАО "Информсвязь-Черноземье"
(4732)53-35-53



Подробная информация о списке рассылки community