Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Косяк с NAT в iptables  (Прочитано 880 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vengant

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
  • RA1AIE
    • Просмотр профиля
    • Радиолюбители Санкт-Петербурга
Косяк с NAT в iptables
« : 09 Августа 2009, 04:49:28 »
Шлюз на Ubuntu Server 9.04. eth0 - локалка, eth1 - инет.

NAT настроен так:

iptables -A INPUT -i eth0 --source 192.168.1.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 --destination 192.168.1.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 --source 192.168.1.0/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth1 --destination 192.168.1.0/24 --match state --state ESTABLISHED -j ACCEPT

INPUT, OUTPUT, FORWARD по умолчанию DROP.

При этом почему-то не работает tracert с компов локалки - доходит до первого пункта (шлюз), а дальше звезды. Если выставить по умолчанию FORWARD ACCEPT, то работает. Похоже, последним правилом я и блокирую трассировку. Подскажите, как исправить?

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1695
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: Косяк с NAT в iptables
« Ответ #1 : 09 Августа 2009, 05:06:45 »
Разрешить FORWARD ???
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: Косяк с NAT в iptables
« Ответ #2 : 09 Августа 2009, 11:09:10 »
NAT настроен так:
...

Настройки NAT отсутствуют, NAT не осуществляется.
Правила NAT для замены _адреса_источника_ располагаются в цепи "POSTROUTING", подцепь "nat". См. http://www.docum.org/docum.org/kptd/ и См. http://www.opennet.ru/docs/RUS/iptables/

Если выставить по умолчанию FORWARD ACCEPT, то работает. Похоже, последним правилом я и блокирую трассировку. Подскажите, как исправить?

Можно так:
По подобию http://www.opennet.ru/docs/RUS/iptables/

$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-level info --log-prefix "IPT New not syn: "
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

$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

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i eth0 -s 192.168.1.0/24 -j allowed
$IPTABLES -A FORWARD -p UDP -i eth0 -s 192.168.1.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p ICMP -i eth0 -s 192.168.1.0/24 -j ACCEPT

Или совсем просто:
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p ALL -i eth0 -s 192.168.1.0/24 -j ACCEPT

P.S. traceroute использует ICMP и UDP.
StarDict и Mueller помогут против английского мануала.

Оффлайн Vengant

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
  • RA1AIE
    • Просмотр профиля
    • Радиолюбители Санкт-Петербурга
Re: Косяк с NAT в iptables
« Ответ #3 : 09 Августа 2009, 18:00:33 »
NAT настроен так:
...

Настройки NAT отсутствуют, NAT не осуществляется.
Правила NAT для замены _адреса_источника_ располагаются в цепи "POSTROUTING", подцепь "nat". См. http://www.docum.org/docum.org/kptd/ и См. http://www.opennet.ru/docs/RUS/iptables/
Да, глючит меня))) Маскарад я и не показал, но он есть)) А тут просто доступ.

За советы спасибо, попробую.

 

Страница сгенерирована за 0.017 секунд. Запросов: 20.