Drizzly писал(а): ↑21.07.2009 14:10
Изначально настроил чтобы по умолчанию все порты кроме 80 были закрыты, C 80 в свою очередь идет переброс на порт 3128 сквида и затем через него инет раздается в локалку.
Так вот сейчас стала задача открыть всем возможность пользования почтовыми программами.
Во-первых, squid к почте не причем, он не проксирует почтовый трафик.
Drizzly писал(а): ↑21.07.2009 14:10
По моей логике для этого нужно открыть в iptables порты 25 и 110.
Погуглил...нашел конструкции вида
Код: Выделить всё
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
Командами, которые вы привели, открывается доступ к почтовому серверу, установленному на самой прокси-машине.
Если нужно давать доступ к сторонним почтовым серверам (mail.ru etc.), то надо писать правила для транзитных соединений
Код: Выделить всё
iptables -A FORWARD -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 110 -j ACCEPT
не забывая при этом разрешить форвардинг, и
Код: Выделить всё
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Drizzly писал(а): ↑21.07.2009 14:10
Или для отдельных IP адресов моей сети
Код: Выделить всё
iptables -t nat -A POSTROUTING -s 192.168.х.х -p tcp --dport 110 -j MASQUERADE
Эта конструкция будет работать, но:
- фильтрацию трафика, т.е. кому куда можно ходить, лучше делать в таблице filter. Например так:
Код: Выделить всё
iptables -A FORWARD -s 192.168.x.x -p tcp -m tcp --dport 110 -j ACCEPT
Не надо выборочно NAT-ить соединения, конструкция получается нелогичной и громоздкой. Зачастую все соединения, исходящие к провайдеру, надо NAT-ить, и проще это оформить одной командой:
Код: Выделить всё
iptables -t nat -A POSTROUTING -o <provider_iface> -j MASQUERADE
а фильтровать соединения (кому куда можно) в таблице filter - она для этого и предназначена.