LINUX.ORG.RU

Я так и не понял, что тебе там надо сделать. Схему нарисуй.

anton_jugatsu ★★★★
()

Покажите всю маршрутизацию, «ip rule», «ip route», «ip addr».

Попробуйте засунуть в iptables (в разные цепочки и таблицы) счётчики именно icmp echo-reply с указанием src- и dst-ip адресов, чтобы стало наглядно видно, что NAT в обратную сторону не срабатывает. Вобще, это может быть и глюк ядра, перегружали сервер?

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

спасибо, сразу как доберусь - отпишу.

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

Ну вот, что имеем:

server:~# ip rule
0:      from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default 
server:~# ip route
1**.*.*.130 dev eth1  scope link  src 1**.*.*.222 
1**.*.*.1 dev ppp0  proto kernel  scope link  src ***.***.***.*** 
192.*.*.2 dev tun0  proto kernel  scope link  src 192.*.*.1 
10.30.30.0/24 dev eth2  proto kernel  scope link  src 10.30.30.253 
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1 
1**.*.*.0/24 dev eth1  proto kernel  scope link  src 1**.*.*.222 
192.*.*.0/24 via 192.*.*.2 dev tun0 
default dev ppp0  scope link 
server:~# ip addr
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 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet6 ****:****:****:****:****:****/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 1**.*.*.222/24 brd 1**.*.*.255 scope global eth1
    inet6 ****:****:****:****:****:****/64 scope global deprecated dynamic 
       valid_lft 1523205sec preferred_lft 0sec
    inet6 ****:****:****:****:****:****/64 scope site deprecated dynamic 
       valid_lft 1523205sec preferred_lft 0sec
    inet6 ****:****:****:****:****:****/64 scope link 
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 10.30.30.253/24 brd 10.30.30.255 scope global eth4
    inet6 ****:****:****:****:****:****/64 scope link 
       valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet6 ****:****:****:****:****:****/64 scope link 
       valid_lft forever preferred_lft forever
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 192.168.*.*/24 brd 192.168.*.255 scope global br0
    inet6 ****:****:****:****:****:****/64 scope link 
       valid_lft forever preferred_lft forever
213: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none 
    inet 1**.***.***.1 peer 1**.***.***.2/32 scope global tun0
48548: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 
    inet ***.***.***.*** peer 1**.***.***.1/32 scope global ppp0
создал правило:
iptables -I FORWARD -s 10.30.30.2 -d 192.168.1.3 -p icmp --icmp-type echo-reply -j ACCEPT
запустил
server:~# hping3 -1 -a 192.168.1.3 10.30.30.2
в новосозданную цепочку ничего не попадает, а tcpdump в тоже время показывает:
server:~# tcpdump -i eth2 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
09:55:27.665444 IP 10.30.30.253 > 10.30.30.2: ICMP echo request, id 42278, seq 0, length 8
09:55:27.665560 IP 10.30.30.2 > 10.30.30.253: ICMP echo reply, id 42278, seq 0, length 8
09:55:28.665518 IP 10.30.30.253 > 10.30.30.2: ICMP echo request, id 42278, seq 256, length 8
09:55:28.665618 IP 10.30.30.2 > 10.30.30.253: ICMP echo reply, id 42278, seq 256, length 8
09:55:29.665608 IP 10.30.30.253 > 10.30.30.2: ICMP echo request, id 42278, seq 512, length 8
09:55:29.665718 IP 10.30.30.2 > 10.30.30.253: ICMP echo reply, id 42278, seq 512, length 8
что для 10.30.30.1, что для 10.30.30.2 (да и вообще для всей этой подветки) - результат одинаковый, VLAN'a нет, с мак-адресами всё впорядке, сервер перегружал, неединожды, результата ноль. так же пробовал:
iptables -t nat -A PREROUTING -s 10.30.30.2 -d 192.168.1.3 -p icmp --icmp-type echo-reply -j ACCEPT
с тем же результатом.

f1st
() автор топика
Ответ на: комментарий от f1st

Особых идей нет. Счётчик в таблице «nat» ничего не покажет, соединение уже установлено (ESTABLISHED), пакет пойдёт мимо. Попробуйте его в «mangle PREROUTING». Попробуйте счётчик не «filter FORWARD», а в «filer INPUT»

Почему для eth1:
inet 1**.*.*.222/24 brd 1**.*.*.255 scope global eth1

А для eth2:
inet 10.30.30.253/24 brd 10.30.30.255 scope global eth4

Я, правда не знаю, что значит «global eth4».

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