LINUX.ORG.RU
ФорумAdmin

(sams+squid3+iptables)Подводные камни


0

1

Добрый день, поставил линуксовый роутер, пробросил порты в iptables, установил сквид, прописал в нем только прозрачный порт и направил трафик с 80 и 8080 портов на порт сквида в iptables, дальше поставил самс, но не настроил. После этого правила для проброса портов буд- то пропали, в локальной сети используется ip-телефония и стоит почтовый сервер, после заворачивания трафика на сквид они перестают работать, пока не пропишу правила заного, возникла мысль, что это из- за не настроенного самса, но так ли это? И если настраивать самс, то там придется делать доступ для телефонии и почты? Извините, ещё не слишком силен в линуксах, потому покорно прошу вашего ответа


после заворачивания трафика на сквид они перестают работать, пока не пропишу правила заного

поподробнее. какие правила и куда ?

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

там нет ничего хитрого, проброс портов в iptables выглядит как:

iptables -t nat -A PREROUTING -p tcp -d <внешн.ип> --dport <порт> -j DNAT --to-destination <внутр.ип:порт>
iptables -t nat -A POSTROUTING -p tcp --dst <внутр.ип> --dport <порт> -j SNAT --to-source <внеш.ип>

Проброс портов работает до момента добавления

iptables -t nat -A PREROUTING -i ppp0 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.197:3128

Bain
() автор топика
Ответ на: комментарий от invokercd
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:25 to:192.168.0.80:25
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:3000 to:192.168.0.130:3389
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:8839 to:192.168.0.130:3389
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:80 to:192.168.0.80:80
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:5080 to:192.168.0.146:80
DNAT       udp  --  0.0.0.0/0            <внешн.ип>      udp dpts:1:65534 to:192.168.0.146
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:5080 to:192.168.0.146:80
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:3389 to:192.168.0.80:3389
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:5437 to:192.168.0.124:5437
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:5438 to:192.168.0.8037:5438
DNAT       tcp  --  0.0.0.0/0           !192.168.0.0/24       multiport dports 80,8080 to:192.168.0.197:3128
DNAT       tcp  --  0.0.0.0/0            <внешн.ип>      tcp dpt:25 to:192.168.0.80:25

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  192.168.0.0/24       0.0.0.0/0
SNAT       tcp  --  0.0.0.0/0            192.168.0.80          tcp dpt:25 to:<внешн.ип>
SNAT       tcp  --  0.0.0.0/0            192.168.0.130        tcp dpt:3000 to:<внешн.ип>
SNAT       tcp  --  0.0.0.0/0            192.168.0.130        tcp dpt:8839 to:<внешн.ип>
SNAT       tcp  --  0.0.0.0/0            192.168.0.80          tcp dpt:80 to:<внешн.ип>
SNAT       udp  --  0.0.0.0/0            192.168.0.146        udp dpts:1:65534 to:<внешн.ип>
SNAT       tcp  --  0.0.0.0/0            192.168.0.80          tcp dpt:3389 to:<внешн.ип>
SNAT       tcp  --  0.0.0.0/0            192.168.0.124        tcp dpt:5437 to:213.247.219.124
SNAT       tcp  --  0.0.0.0/0            192.168.0.8038        tcp dpt:5438 to:<внешн.ип>
SNAT       tcp  --  0.0.0.0/0            192.168.0.124        tcp dpt:5437 to:<внешн.ип>
Bain
() автор топика
Ответ на: комментарий от Bain

попробуй здесь тоже указать интерфейс

 iptables -t nat -A PREROUTING -p tcp -d <внешн.ип> --dport <порт> -j DNAT --to-destination <внутр.ип:порт>

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

Есть ли в этом смысл? Маршрутизация между интерфейсами итак настроена и iptables должен понимать какая подсеть идет с какой сетевухи?

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

БТВ, начал думать и разбираться, в конфиге сквида я сделал прозрачный порт

# Squid normally listens to port 3128
http_port 3128 [b]transparent[/b]

+раскомментировал
 visible_hostname localhost

А в самсе стоит авторизация по ip- адресу, может ли сквид прозрачно работать без прозрачного порта со стандатрным конфигом?

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

Я не совсем понял зачем вам маскарадинг сети 192.168.0.0/24 если для заворачивания на сквид http нужен лишь REDIRECT, например:

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

сквид прозрачно работать без прозрачного порта со стандатрным конфигом

не понял. Для работы в прозрачном режиме нужно указать это явно в конфиге.

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