IPTABLES, NAT, странное поведение (не проходят пакеты UDP, TCP.)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

nick-23
Сообщения: 227
Статус: UNIX`оид
ОС: Linux/*BSD

IPTABLES, NAT, странное поведение

Сообщение nick-23 »

Здравствуйте!
Знаю, тема популярная, много обсуждаемая, и пр.
Однако прочитав Руководство по Iptables 1.1.9(opennet.ru),
ряд найденных статей, обсуждений на форумах, решения
своей проблемы не нашёл.
Собственно ситуация.
Есть у меня 2 ноута, соединяю их через WIFI.
Допустим, ip шлюза 192.168.1.5, ip клиента 192.168.1.6.
WiFi интерфейс на шлюзе - wlan0.
Во внешнюю сеть(уже другую) на шлюзе смотрит eth0.
На шлюзе настраиваю iptables. Применяю простейшие правила:

Код: Выделить всё

# Очищаем таблицу правил
iptables -F -t mangle
iptables -F -t nat
iptables -F -t filter

# Политики по умолчанию в таблице filter
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Собственно NAT
iptables -t nat -A POSTROUTING  -s 192.168.1.6 -o eth0 -j MASQUERADE

В /proc/sys/net/ipv4/ip_forward стоит 1

На клиенте:
Делаю route add -net <сеть, в которую смотрит eth0 на шлюзе> gw 192.168.1.5
/etc/resolv.conf копирую со шлюза.

Что происходит:
когда я делаю ping на ip адрес какой-нибудь машины во внешней сети, всё нормально.
когда я делаю ping на имя хоста(например, той же машины), пакеты к клиенту не доходят.
Вставив в правила iptables -j LOG в соответствующих местах, я обнаружил, что пакеты преспокойно
проходят через FORWARD. И запросы на DNS сервер, и ответы от него. А на клиенте глухо.
Аналогично не работает доступ по http, ftp и пр. к машинам из внешней сети, несмотря на
явное прописывание ip адреса.
Такое чувство, что кроме ICMP, никакие другие типы траффика не проходят.
Я в недоумении...
Если нужны конфиги, опции ядра, пр. - спрашивайте.
Да, чуть не забыл, дистрибутив - CRUX
MaxSelect Mission AWD/Sempron 2600+/ATi Xpress 200M/1G DDR/80G HDD/CRUX 2.5
EeE PC 900/20G/Archlinux/FreeBSD 7.2-RELEASE
Why UNIX? - Just For Fun
Спасибо сказали:
Аватара пользователя
maxen
Сообщения: 48
ОС: Debian -> Gentoo

Re: IPTABLES, NAT, странное поведение

Сообщение maxen »

Покажите пожалуйста :

Код: Выделить всё

tcpdump -pni eth0 host 192.168.1.6

И в этот момент времени с хоста 192.168.1.6 пропингуйте к примеру яндекс по имени.
Спасибо сказали:
nick-23
Сообщения: 227
Статус: UNIX`оид
ОС: Linux/*BSD

Re: IPTABLES, NAT, странное поведение

Сообщение nick-23 »

Код: Выделить всё

tcpdump -pni eth0 host 192.168.1.6

не выводит ничего, а

Код: Выделить всё

tcpdump -pni wlan0 host 192.168.1.6

Выводит следующее(пингую хост из нашей локалки,
имеющий к примеру, DNS имя server, ip адрес server_ip
ip адрес DNS сервера dns_ip)

Код: Выделить всё

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
00:17:30.374878 IP 192.168.1.6.59071 > dns_ip.53: 7862+ A? server. (33)
00:17:30.377767 IP dns_ip.53 > 192.168.1.6.59071: 7862* 1/2/2 A server_ip (120)
00:17:35.375296 ARP, Request who-has 192.168.1.5 tell 192.168.1.6, length 28
00:17:35.375305 ARP, Reply 192.168.1.5 is-at 00:10:60:63:89:6d, length 28
00:17:35.377102 IP 192.168.1.6.59071 > dns_ip.53: 7862+ A? server. (33)
00:17:35.381110 IP dns_ip.53 > 192.168.1.6.59071: 7862* 1/2/2 A server_ip (120)
00:17:40.381064 ARP, Request who-has 192.168.1.6 tell 192.168.1.5, length 28
00:17:40.383044 ARP, Reply 192.168.1.6 is-at 00:15:af:b5:25:a9, length 28


На клиенте:
ping server
ping: unknown host server
MaxSelect Mission AWD/Sempron 2600+/ATi Xpress 200M/1G DDR/80G HDD/CRUX 2.5
EeE PC 900/20G/Archlinux/FreeBSD 7.2-RELEASE
Why UNIX? - Just For Fun
Спасибо сказали:
Аватара пользователя
maxen
Сообщения: 48
ОС: Debian -> Gentoo

Re: IPTABLES, NAT, странное поведение

Сообщение maxen »

И еще пожалуйста :
на машине с натом:

Код: Выделить всё

ip addr show

Код: Выделить всё

iptables -L -t nat -n

Код: Выделить всё

ip ro list

Код: Выделить всё

cat /etc/resolv.conf
Спасибо сказали:
nick-23
Сообщения: 227
Статус: UNIX`оид
ОС: Linux/*BSD

Re: IPTABLES, NAT, странное поведение

Сообщение nick-23 »

На машине с NAT:

Код: Выделить всё

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
2: wmaster0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ieee802.11 00:10:60:63:89:6d brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:10:60:63:89:6d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.5/24 brd 192.168.1.255 scope global wlan0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:22:15:30:17:fe brd ff:ff:ff:ff:ff:ff
    inet eth_ip brd eth_broadcast scope global eth0
12: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp
    inet x.x.x.x peer y.y.y.y/32 scope global ppp1

ip на смотрящем во внешнюю сеть интерфейсе eth0 eth_ip
eth_broadcast - широковещательный адрес сети

Код: Выделить всё

# iptables -L -t nat -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  192.168.1.6          0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
# ip ro show
255.255.255.255 dev eth0  scope link
y.y.y.y dev ppp1  proto kernel  scope link  src x.x.x.x
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.5
eth_ip/16 dev eth0  proto kernel  scope link  src eth_ip
224.0.0.0/4 dev eth0  scope link
default dev ppp1  scope link
# cat /etc/resolv.conf
search <ourdomain>
nameserver dns_ip

где <ourdomain> - наш домен, dns_ip - ip адрес DNS сервера
IP адреса явно постить наверно не смогу, т.к. наш провайдер отрицательно
относится к использованию NAT. Что, однако, не мешало мне использовать
его, когда шлюзом была машинка с FreeBSD. Теперь мне интересно, как
настроить в линуксе всё это дело.
MaxSelect Mission AWD/Sempron 2600+/ATi Xpress 200M/1G DDR/80G HDD/CRUX 2.5
EeE PC 900/20G/Archlinux/FreeBSD 7.2-RELEASE
Why UNIX? - Just For Fun
Спасибо сказали: