LINUX.ORG.RU
ФорумAdmin

Debian GATEWAY


0

2

Настроил NAT на Debian 6:

# uname -a
Linux gateway 2.6.32-5-amd64 #1 SMP Wed May 18 23:13:22 UTC 2011 x86_64 GNU/Linux

Iptables:

#
IPT=/sbin/iptables
#
LOCAL_IF="eth1"
INET_IF="ppp0"
GW_IP="192.168.1.1"
GW_IP_PUB="XXX.XXX.XXX.XXX"
#
# Включить перенаправление пакетов через ядро.
echo 1 > /proc/sys/net/ipv4/ip_forward
# Загружаем некторое модули. Ip_nat_ftp требуется, чтобы преобразование сетевых адресов (Network Adress Translation)
# производилось корректно с протоколами FTP
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
echo 1 > /proc/sys/net/netfilter/nf_conntrack_acct
#
# удалить все действующие правила
#
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X                 #удалить пустую цепочку, на которую нет ссылок
#
# Политики по умолчанию
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
#
# Разрешаем себе ping наружу, ставим ограничение на ping своей машины.
$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP
$IPT -A INPUT -p icmp -j ACCEPT

# Разрешаем прохождение любого трафика по интерфейсу обратной петли.
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

#
# Разрешаем любой входящий трафик через локальный интерфейс
$IPT -A INPUT -i $LOCAL_IF -j ACCEPT

#
# Проброс портов во внутреннюю сеть
$IPT -t nat -A PREROUTING -p udp -d $GW_IP --dport 53 -j DNAT --to-destination 8.8.8.8:53

$IPT -t nat -A PREROUTING -p tcp -d $GW_IP_PUB --dport 14322 -j DNAT --to-destination 192.168.1.143:22

# Masquerade
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu -o $INET_IF
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $LOCAL_IF -j ACCEPT # Разрешаем всем
$IPT -t nat -A POSTROUTING -o $INET_IF -j MASQUERADE 

Возникла проблема, некоторые сайты не открываются, к примеру beeline.ru ни в какую не хочет, и к примеру с artvid.ru ничего не качает но открывает, а если пробывать со шлюза то все нормально, в чем проблема?

Так понимаю в iptables, но конкретно в чем?

Зачем то запихали в один скрипт то, что правится в разных файлах конфигурации: sysctl, загрузка модулей, правила iptables. Причём, если уж постить, то лучше вывод iptables-save, там хотя бы понятно, что на самом деле в iptables.

Пока для меня странным кажется только "-o $INET_IF" для правила --clamp-mss-to-pmtu, его обычно указывают без интерфейса.

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

этот скрипт сделан на скорую руку...

Пока для меня странным кажется только "-o $INET_IF" для правила --clamp-mss-to-pmtu, его обычно указывают без интерфейса.

Это на работу не влияет уж точно никак.

сейчас изменил на

$IPT -t nat -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

mrtmexx ()
Ответ на: комментарий от markevichus
# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:25:22:67:74:98  
          inet addr:10.6.109.120  Bcast:10.6.109.255  Mask:255.255.254.0
          inet6 addr: fe80::225:22ff:fe67:7498/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18670924 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20138470 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15513407964 (14.4 GiB)  TX bytes:4874674315 (4.5 GiB)
          Interrupt:28 Base address:0x8000 

eth1      Link encap:Ethernet  HWaddr f0:7d:68:c2:0f:4e  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::f27d:68ff:fec2:f4e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8554722 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11609167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1325357447 (1.2 GiB)  TX bytes:11213880159 (10.4 GiB)
          Interrupt:22 Base address:0x6c00 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:51198 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7991986 (7.6 MiB)  TX bytes:7991986 (7.6 MiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:83.69.XXX.XXX  P-t-P:217.30.XXX.XXX  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1460  Metric:1
          RX packets:2504514 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1690591 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:2601160447 (2.4 GiB)  TX bytes:471850773 (449.9 MiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.1.20.6  P-t-P:10.1.20.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:21676 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22208 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:10380348 (9.8 MiB)  TX bytes:12876101 (12.2 MiB)
mrtmexx ()
Ответ на: комментарий от anton_jugatsu
iptables-save 
# Generated by iptables-save v1.4.8 on Wed Jun 29 14:03:20 2011
*mangle
:PREROUTING ACCEPT [8217730:6816063575]
:INPUT ACCEPT [4211832:4015440256]
:FORWARD ACCEPT [4004995:2800568761]
:OUTPUT ACCEPT [4468382:1863191248]
:POSTROUTING ACCEPT [8473406:4663773001]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 
COMMIT
# Completed on Wed Jun 29 14:03:20 2011
# Generated by iptables-save v1.4.8 on Wed Jun 29 14:03:20 2011
*nat
:PREROUTING ACCEPT [229413:22793921]
:POSTROUTING ACCEPT [2460:207647]
:OUTPUT ACCEPT [14498:1134685]
-A POSTROUTING -o ppp0 -j SNAT --to-source 83.69.XXX.XXX 
COMMIT
# Completed on Wed Jun 29 14:03:20 2011
# Generated by iptables-save v1.4.8 on Wed Jun 29 14:03:20 2011
*filter
:INPUT ACCEPT [165992:134683461]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [176526:27063565]
:fail2ban-apache - [0:0]
:fail2ban-ssh-ddos - [0:0]
-A INPUT -p tcp -m multiport --dports 80,443 -j fail2ban-apache 
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh-ddos 
-A INPUT -i lo -j ACCEPT 
-A INPUT -i eth1 -j ACCEPT 
-A INPUT -i ppp0 -j LOG --log-prefix "INPUT_PPP" 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -j LOG 
-A FORWARD -i eth1 -j ACCEPT 
-A OUTPUT -o lo -j ACCEPT 
-A fail2ban-apache -j RETURN 
-A fail2ban-ssh-ddos -j RETURN 
COMMIT
# Completed on Wed Jun 29 14:03:20 2011
mrtmexx ()
Ответ на: комментарий от mrtmexx

Попробуйте до кучи вместо "--clamp-mss-to-pmtu" указывать явно MSS через "--set-mss", причём маленький, допустим, 600.

И какая ОС на клиенте? Может проблема в TCP Window Scaling или других настройках tcp на клиенте, а не на шлюзе.

mky ★★★★★ ()

А на клиентах на шлюзах как настроена сеть ? Нужно или на клиентах в настройки сетевой карты прописать DNS прова (не шлюза) или на шлюз пакет BIND (например), тогда на клиентах DNS запись сетевой карты можно оставить адрес шлюза.

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