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

Исходное сообщение
"Как локал. клиенту открыть доступ на порт внешн. станции?"

Отправлено bsm , 28-Ноя-08 10:29 
Имею: (linux, iptables)

локальная сеть: 192.168.0.0/16
сервер локальной сети: 192.168.0.1
устройство для локальной сети: eth0
На этом узле работает прозрачный прокси- squid:3128.

наружный адрес: 195.190.180.170
устройство для выхода наружу: eth1

Необходимо локальному Windows-клиенту 192.168.0.9 предоставить доступ к ftp-узлу 111.222.333.444:121 (администратор этого узла организовал доступ на этот порт).

Что я сделал:

..
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
..
iptables -A INPUT --in-interface eth0 --protocol tcp --source 192.168.0.9 --dport 121 -j ACCEPT
iptables -A FORWARD --in-interface eth0 --protocol tcp --source 192.168.0.9 --dport 121 -j ACCEPT
iptables -A FORWARD --out-interface eth1 --protocol tcp --sport 121 --destination 192.168.0.9 -j ACCEPT
..

Если клиент не указывает в своём Internet Explorer использование прокси, то доступ на 121 порт удалённого узла имеется, при указании использования прокси клиент получает сообщение,- доступ блокирован прокси сервером.

В конфиге squid.conf указано:

..
httpd_accel_host vitrual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_port 3128
..
acl SSL_ports port 443 563    # ssl
#acl SSL_ports port 4661 4662 4665 4672    # aMule
acl SSL_ports port 44777 7177    # svn
acl Safe_ports port 80        # http
acl Safe_ports port 81 83 84 85
acl Safe_ports port 21,121    # ftp
acl Safe_ports port 443 563    # https, snews
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl SSL_ports port 443 5190    # icq- 443, 5190
acl Safe_ports port 443 5190    # icq- 443, 5190
#
acl CONNECT method CONNECT
..

Верно ли я всё назначил?

Документацию по iptables читал, но чем больше читаю- тем больше сомнений в правильности принятого решения.

Спасибо.


Содержание

Сообщения в этом обсуждении
"Как локал. клиенту открыть доступ на порт внешн. станции?"
Отправлено LS , 29-Ноя-08 06:50 
бред у тебя. курить man iptables до посинения.

forward - только позволяет пакетам с одного интерфеса на другой проходить.

смотринм на табицу нат и модули ip_nat_ftp, ip_conntrack_ftp

я на 100% уверен что для этого клиента сквид не нужен


"Как локал. клиенту открыть доступ на порт внешн. станции?"
Отправлено LS , 29-Ноя-08 06:52 
>бред у тебя. курить man iptables до посинения.
>
>forward - только позволяет пакетам с одного интерфеса на другой проходить (если OS разрешено).
>
>смотринм на табицу нат и модули ip_nat_ftp, ip_conntrack_ftp
>
>я на 100% уверен что для этого клиента сквид не нужен

"Как локал. клиенту открыть доступ на порт внешн. станции?"
Отправлено bsm , 01-Дек-08 14:37 
>>бред у тебя. курить man iptables до посинения.
>>
>>forward - только позволяет пакетам с одного интерфеса на другой проходить (если OS разрешено).
>>
>>смотринм на табицу нат и модули ip_nat_ftp, ip_conntrack_ftp
>>
>>я на 100% уверен что для этого клиента сквид не нужен

Я переделал к виду-

inp_cmd="--in-interface eth0 --protocol tcp --source 192.168.0.9 --dport 121"
#
$IPT_PREROUTING $inp_cmd -j REDIRECT --to-port 3128
$IPT_INPUT $inp_cmd -j ACCEPT
$IPT_FORWARD $inp_cmd -j ACCEPT

А в squid.conf исправил строку-

acl Safe_ports port 21,121    # ftp

на строку-

acl Safe_ports port 21 121    # ftp

Быть может я опять не прав, но это работает.