dao
написал 10 февраля 2006 года в 13:18 (1744 просмотра)
Ведет себя
неопределенно; открыл 1 тему в форуме, оставил 6 комментариев на сайте.
Тестирую скрипт, приведенный в туториале. Возникает вопрос. при обращении из интернета на 25 порт идет перенаправление трафика в ДМЗ . Однако если обратиться из локалки -> не идет коннект с ДМЗ. В документации есть правило на SNAT / Пробовал — тоже не идет.
Как сделать правильно?
PS умеющих посылать в FAQ просьба не беспокоиться.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Гм. Правила-то у тебя какие? А схема сети?
Нда.. и как после таких вопросов не посылать в FAQ? Например, сюда:
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
Спасибо.
Схема
Internet
|
|
Firewall — DMZ (mail,ftp,dns)
|
|
ЛВС
Проблема: при обращении из ЛВС по 25 порту — должно обращаться к почтовому серверу в ДМЗ
Скрипт:
#!/bin/sh
#
#
# 1.1 Internet Configuration.
#
INET_IP=«194.236.50.152»
HTTP_IP=«194.236.50.153»
DNS_IP=«194.236.50.154»
INET_IFACE=«eth0»
#
# 1.2 Local Area Network configuration.
#
LAN_IP=«192.168.0.1»
LAN_IFACE=«eth1»
#
# 1.3 DMZ Configuration.
#
DMZ_HTTP_IP=«192.168.1.2»
DMZ_DNS_IP=«192.168.1.3»
DMZ_IP=«192.168.1.1»
DMZ_IFACE=«eth2»
#
# 1.4 Localhost Configuration.
#
LO_IFACE=«lo»
LO_IP=«127.0.0.1»
#
# 1.5 IPTables Configuration.
#
IPTABLES=«/usr/sbin/iptables»
#
# 1.6 Other Configuration.
#
###########################################################################
#
# 2. Module loading.
#
#
# Needed to initially load modules
#
/sbin/depmod -a
#
# 2.1 Required modules
#
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
echo «1» > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N allowed
$IPTABLES -N icmp_packets
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix «New not syn:»
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
#
# allowed chain
#
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
#
# ICMP rules
#
# Changed rules totally
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#
# 4.1.4 INPUT chain
# Bad TCP packets we don’t want
#
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
#
# Packets from the Internet to this box
#
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
#
# Packets from LAN, DMZ or LOCALHOST
#
#
# From DMZ Interface to DMZ firewall IP
#
$IPTABLES -A INPUT -p ALL -i $DMZ_IFACE -d $DMZ_IP -j ACCEPT
#
# From LAN Interface to LAN firewall IP
#
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_IP -j ACCEPT
#
# From Localhost interface to Localhost IP’s
#
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
#
# Special rule for DHCP requests from LAN, which are not caught properly
# otherwise.
#
$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT
#
# All established and related packets incoming from the internet to the
# firewall
#
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
-j ACCEPT
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix «IPT INPUT packet died: »
#
# 4.1.5 FORWARD chain
#
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
#
# DMZ section
#
# General rules
#
$IPTABLES -A FORWARD -i $DMZ_IFACE -o $INET_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -o $DMZ_IFACE -m state \
--state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_IFACE -o $DMZ_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $DMZ_IFACE -o $LAN_IFACE -m state \
--state ESTABLISHED,RELATED -j ACCEPT
#
# HTTP server
#
$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP \
--dport 80 -j allowed
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP \
-j icmp_packets
#
# DNS server
#
$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_DNS_IP \
--dport 53 -j allowed
$IPTABLES -A FORWARD -p UDP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_DNS_IP \
--dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p ICMP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_DNS_IP \
-j icmp_packets
#
# LAN section
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Log weird packets that don’t match the above.
#
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix «IPT FORWARD packet died: »
#
# 4.1.6 OUTPUT chain
#
#
# Bad TCP packets we don’t want.
#
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
#
# Special OUTPUT rules to decide which IP’s to allow.
#
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
#
# Log weird packets that don’t match the above.
#
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix «IPT OUTPUT packet died: »
# 4.2.4 PREROUTING chain
#
$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP --dport 80 \
-j DNAT --to-destination $DMZ_HTTP_IP
$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $DNS_IP --dport 53 \
-j DNAT --to-destination $DMZ_DNS_IP
$IPTABLES -t nat -A PREROUTING -p UDP -i $INET_IFACE -d $DNS_IP --dport 53 \
-j DNAT --to-destination $DMZ_DNS_IP
#
# 4.2.5 POSTROUTING chain
#
#
# Enable simple IP Forwarding and Network Address Translation
#
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
несколько неправильно обрабатывается из-за того, что пакетывыходят не на тот интерфейс. потому как адреса, которые перенаправляются к DMZ, находятся на интерфейсе «Internet», и потому пакеты идут не туда.
таким образом, необходимо изменять маршрутизацию (адреса назначения) до того, как будет прнято решение об отправке пакета в тот или иной интерфейс.
либо дополнитльно импользовать измененеие маршрута действием -j ROUTE
хорошо, это есть. с внешнего интерфейса.
а для локального где подобное?
# Generated by iptables-save v1.3.4 on Thu Feb 16 19:30:50 2006
*nat
:PREROUTING ACCEPT [198:19394]
:POSTROUTING ACCEPT [78:4452]
:OUTPUT ACCEPT [50:3102]
-A PREROUTING -d 10.1.0.4 -i eth1 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.1.2
-A PREROUTING -d 64.20.30.10 -i eth2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.2
-A PREROUTING -d 64.20.30.10 -i eth2 -p tcp -m tcp --dport 53 -j DNAT --to-destination 192.168.1.2
-A PREROUTING -d 64.20.30.10 -i eth2 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.1.2
-A PREROUTING -d 64.20.30.10 -i eth2 -p tcp -m tcp --dport 20 -j DNAT --to-destination 192.168.1.2
-A PREROUTING -d 64.20.30.10 -i eth2 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.2
-A PREROUTING -d 64.20.30.10 -i eth2 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.1.2
-A POSTROUTING -o eth1 -j SNAT --to-source 10.1.0.4
-A POSTROUTING -o eth2 -j SNAT --to-source 64.20.30.10
COMMIT
# Completed on Thu Feb 16 19:30:50 2006
# Generated by iptables-save v1.3.4 on Thu Feb 16 19:30:50 2006
*mangle
:PREROUTING ACCEPT [16796:1470835]
:INPUT ACCEPT [16277:1346940]
:FORWARD ACCEPT [491:119465]
:OUTPUT ACCEPT [12427:3933192]
:POSTROUTING ACCEPT [12823:4002036]
COMMIT
# Completed on Thu Feb 16 19:30:50 2006
# Generated by iptables-save v1.3.4 on Thu Feb 16 19:30:50 2006
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:allowed — [0:0]
:bad_tcp_packets — [0:0]
:icmp_packets — [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -i eth2 -p icmp -j icmp_packets
-A INPUT -d 192.168.1.1 -i eth0 -j ACCEPT
-A INPUT -d 10.1.0.4 -i eth1 -j ACCEPT
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 10.1.0.4 -i lo -j ACCEPT
-A INPUT -s 64.20.30.10 -i lo -j ACCEPT
-A INPUT -s 192.168.1.1 -i lo -j ACCEPT
-A INPUT -d 10.1.0.4 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -d 64.20.30.10 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix «IPT INPUT packet died: » --log-level 7
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -i eth0 -o eth2 -j ACCEPT
-A FORWARD -i eth2 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o lo -j ACCEPT
-A FORWARD -i lo -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.1 -i lo -o eth0 -p tcp -m tcp --dport 22 -j allowed
-A FORWARD -d 192.168.1.1 -i lo -o eth0 -p icmp -j icmp_packets
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p tcp -m tcp --dport 80 -j allowed
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p icmp -j icmp_packets
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p tcp -m tcp --dport 20 -j allowed
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p tcp -m tcp --dport 21 -j allowed
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.2 -i eth1 -o eth0 -p tcp -m tcp --dport 25 -j allowed
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p tcp -m tcp --dport 25 -j allowed
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p tcp -m tcp --dport 53 -j allowed
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -d 192.168.1.2 -i eth2 -o eth0 -p icmp -j icmp_packets
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix «IPT FORWARD packet died: » --log-level 7
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 10.1.0.4 -j ACCEPT
-A OUTPUT -s 64.20.30.10 -j ACCEPT
-A OUTPUT -s 192.168.1.1 -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix «IPT OUTPUT packet died: » --log-level 7
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix «New not syn:»
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
COMMIT
# Completed on Thu Feb 16 19:30:50 2006
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
220 17248 bad_tcp_packets tcp — * * 0.0.0.0/0 0.0.0.0/0
0 0 icmp_packets icmp — eth2 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — eth0 * 0.0.0.0/0 192.168.1.1
220 17248 ACCEPT all — eth1 * 0.0.0.0/0 10.1.0.4
0 0 ACCEPT all — lo * 127.0.0.1 0.0.0.0/0
0 0 ACCEPT all — lo * 10.1.0.4 0.0.0.0/0
0 0 ACCEPT all — lo * 64.20.30.10 0.0.0.0/0
0 0 ACCEPT all — lo * 192.168.1.1 0.0.0.0/0
0 0 ACCEPT all — * * 0.0.0.0/0 10.1.0.4 state RELATED,ESTABLISHED
0 0 ACCEPT all — * * 0.0.0.0/0 64.20.30.10 state RELATED,ESTABLISHED
0 0 LOG all — * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 3 LOG flags 0 level 7 prefix `IPT INPUT packet died: '
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3 180 bad_tcp_packets tcp — * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — eth0 eth2 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — eth2 eth0 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT all — eth0 eth1 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — eth1 eth0 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT all — eth0 lo 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — lo eth0 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 allowed tcp — lo eth0 0.0.0.0/0 192.168.1.1 tcp dpt:22
0 0 icmp_packets icmp — lo eth0 0.0.0.0/0 192.168.1.1
0 0 allowed tcp — eth2 eth0 0.0.0.0/0 192.168.1.2 tcp dpt:80
0 0 icmp_packets icmp — eth2 eth0 0.0.0.0/0 192.168.1.2
0 0 allowed tcp — eth2 eth0 0.0.0.0/0 192.168.1.2 tcp dpt:20
0 0 allowed tcp — eth2 eth0 0.0.0.0/0 192.168.1.2 tcp dpt:21
3 180 ACCEPT all — eth1 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT all — eth0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 allowed tcp — eth1 eth0 0.0.0.0/0 192.168.1.2 tcp dpt:25
0 0 allowed tcp — eth2 eth0 0.0.0.0/0 192.168.1.2 tcp dpt:25
0 0 allowed tcp — eth2 eth0 0.0.0.0/0 192.168.1.2 tcp dpt:53
0 0 ACCEPT udp — eth2 eth0 0.0.0.0/0 192.168.1.2 udp dpt:53
0 0 icmp_packets icmp — eth2 eth0 0.0.0.0/0 192.168.1.2
0 0 LOG all — * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 3 LOG flags 0 level 7 prefix `IPT FORWARD packet died: '
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
133 15476 bad_tcp_packets tcp — * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all — * * 127.0.0.1 0.0.0.0/0
133 15476 ACCEPT all — * * 10.1.0.4 0.0.0.0/0
0 0 ACCEPT all — * * 64.20.30.10 0.0.0.0/0
0 0 ACCEPT all — * * 192.168.1.1 0.0.0.0/0
0 0 LOG all — * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 3 LOG flags 0 level 7 prefix `IPT OUTPUT packet died: '
Chain allowed (7 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0×17/0×02
0 0 ACCEPT tcp — * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 DROP tcp — * * 0.0.0.0/0 0.0.0.0/0
Chain bad_tcp_packets (3 references)
pkts bytes target prot opt in out source destination
0 0 REJECT tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0×12/0×12 state NEW reject-with tcp-reset
0 0 LOG tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0×17/0×02 state NEW LOG flags 0 level 4 prefix `New not syn:'
0 0 DROP tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0×17/0×02 state NEW
Chain icmp_packets (4 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT icmp — * * 0.0.0.0/0 0.0.0.0/0 icmp type 8
0 0 ACCEPT icmp — * * 0.0.0.0/0 0.0.0.0/0 icmp type 11
Chain PREROUTING (policy ACCEPT 198 packets, 19394 bytes)
pkts bytes target prot opt in out source destination
1 60 DNAT tcp — eth1 * 0.0.0.0/0 10.1.0.4 tcp dpt:25 to:192.168.1.2
0 0 DNAT tcp — eth2 * 0.0.0.0/0 64.20.30.10 tcp dpt:80 to:192.168.1.2
0 0 DNAT tcp — eth2 * 0.0.0.0/0 64.20.30.10 tcp dpt:53 to:192.168.1.2
0 0 DNAT udp — eth2 * 0.0.0.0/0 64.20.30.10 udp dpt:53 to:192.168.1.2
0 0 DNAT tcp — eth2 * 0.0.0.0/0 64.20.30.10 tcp dpt:20 to:192.168.1.2
0 0 DNAT tcp — eth2 * 0.0.0.0/0 64.20.30.10 tcp dpt:21 to:192.168.1.2
0 0 DNAT tcp — eth2 * 0.0.0.0/0 64.20.30.10 tcp dpt:25 to:192.168.1.2
Chain POSTROUTING (policy ACCEPT 79 packets, 4512 bytes)
pkts bytes target prot opt in out source destination
0 0 SNAT all — * eth1 0.0.0.0/0 0.0.0.0/0 to:10.1.0.4
0 0 SNAT all — * eth2 0.0.0.0/0 0.0.0.0/0 to:64.20.30.10
Chain OUTPUT (policy ACCEPT 50 packets, 3102 bytes)
pkts bytes target prot opt in out source destination
из локальной сети интернет есть. схема инет -> DMZ работает. не работает — LAN<-> DMZ
итак, что имеем?
есть некоторый внешние ip-адреса, которые, проходя через маршрутизатор, маскируются в серые адреса DMZ
есть локальная сеть, для которой доступ настроен до интернета.
все работает, кроме того, что при обращении из локальной сети к выделенным внешним ip-адресам, для которых проиводится маскирование, нет доступа.
(но при этом, если обращаться по серым ip-адресам, доступ вроде бы как должен быть и должно работать).
итого: не настроено маскирование проходящего трафика через шлюз.
есть 2 варианта решения:
1) настроить правильно файрволл.
2) настроить правильно views на dns-сервере (который, я так подозреваю и есть шлюз) и указать там для внешних клиентов — внешние адреса серверов, а для локальных клиентов — соответственно напрямую доступные им локальные адреса.