продолжение темы: http://www.opennet.dev/openforum/vsluhforumID1/70753.htmlДело обстоит таким образом:
имеем локальную сеть и Интернет. Между ними стоит Шлюз( FreeBSD 4.9), IPFilter + IPNat.
+ rl0 - внешний интерфейс(реальный АйПи И-нета) = 194,44,хх,хх
rl1 - интерфейс на шлюзе к которому подключен WWW-сервер(Апач) = 10,0,0,100/8
dc0 - то что глядид в локальную сеть = 192,168,0,100/24
ng0 - интерфейс ВПН-сервера, через который окальная сеть ходит в И-нет = 10,1,4,0/24
дальше по порядку:
rl0 - статический, рельный адресс в И-нете, тут все ясно!
rl1 - интерфейс к которому подключен ВВВ-сервер(10,0,0,200) с установленым Апачем(порт 80)
dc0 - тут все понятно, здесь пользователи создают подключения к ВПН-серверу(MPD) на шлюзе, получают свои АйПи из подсети 10,1,4,0/24, по которым потом имеют выход в И-нет.
ng0 - виртуальный и-фес с которого клиенты лок. сети выходят в инет.
Выход в интернет реализован с помощью IPFilter + IPNat.
Вот их правила(все лишнее было закоментировано):
=================== ipnat.rules ====================
serv# more /etc/ipnat.rules
rdr rl0 194.44.хх.хх/32 port 8080 -> 10.0.0.200 port 80
map rl0 10.1.4.0/24 -> 194.44.хх.хх/32 proxy port ftp ftp/tcp
map rl0 10.1.4.0/24 -> 194.44.хх.хх/32 portmap tcp/udp 40000:60000
map rl0 10.1.4.0/24 -> 194.44.хх.хх/32
========================================================
===================== ipf.rules ======================
serv# more /etc/ipf.rules
pass out quick on rl0 proto tcp from 10.1.4.0/24 to any flags S/FSRA keep state
pass out quick on rl0 proto udp from 10.1.4.0/24 to any keep state
pass in all
pass out all
========================================================
Клиенты все выходят и НАТятся в и-нет. все на Ура!
Хочу сделать проброс порта внутрь сети на ВВВ-сервер(АПАЧ), который стоит за интерфейсом rl1 шлюза и имеет АйПи 10,0,0,200/24. Для этого и написана строчка в файлике ipnat.rules:
rdr rl0 194.44.хх.хх/32 port 8080 -> 10.0.0.200 port 80 , причем , как видно из правила, обращаемся мы на порт 8080, а НАТ перекидовает правило на порт 80. При такой конструкции и запросе из И-нета вот что выдает TCPDUMP -t -i rl1 НА ШЛЮЗЕ:
=============== TCPDUMP -t -i rl1 НА ШЛЮЗЕ =========================
140-13-124-91.pool.ukrtel.net.oceansoft-lm > 10.0.0.200.http: S 1775778128:1775778128(0) win 65535 <mss 1440,nop,nop,sackOK> (DF)
140-13-124-91.pool.ukrtel.net.oceansoft-lm > 10.0.0.200.http: S 1775778128:1775778128(0) win 65535 <mss 1440,nop,nop,sackOK> (DF)
140-13-124-91.pool.ukrtel.net.oceansoft-lm > 10.0.0.200.http: S 1775778128:1775778128(0) win 65535 <mss 1440,nop,nop,sackOK> (DF)
========================================================================
а вот это приходит на ВВВ-сервере:
================ TCPDUMP -t -i rl1 НА ВВВ-сервере ====================
arp reply 10.0.0.200 is-at 00:80:48:20:23:8e (oui Unknown)
IP 91.124.13.140.oceansoft-lm > 10.0.0.200.http: S 1775778128:1775778128(0) win 65535 <mss 1440,nop,nop,sackOK>
IP 91.124.13.140.oceansoft-lm > 10.0.0.200.http: S 1775778128:1775778128(0) win 65535 <mss 1440,nop,nop,sackOK>
IP 91.124.13.140.oceansoft-lm > 10.0.0.200.http: S 1775778128:1775778128(0) win 65535 <mss 1440,nop,nop,sackOK>
========================================================================
Как видно выше - пропихиваются только запросы, нет ниодного ответа от ВВВ-сервера и дальше соответственно. Запрашивающий сервер из и-нета получает "Ошибку 404..."
Фаервол на ВВВ-сервере ОТКРЫТ. В чем могут быть грабли?