LINUX.ORG.RU
ФорумAdmin

Перенаправление трафика с помощью PBR

 , ,


1

2

Есть сервер с eth0:1 x.x.x.x - «белым» не основным адресом. Там же висит туннель gre tun0 (10.0.201.2)с другим сервером. Пытаюсь создать правило маршрутизации отправляющее всё что поступает на x.x.x.x в туннель ip route add default via 10.0.201.2 table 120 ip rule add from all to x.x.x.x table 120

По идее, если пинговать извне этот сервер, то tcpdump -i tun0 должен ловить хоть что то, а в нём пустота. Что мешать может? Весь остальной роутинг не менялся с момента установки ОС и настройки интерфейсов.

sysctl net.ipv4.conf.tunl0.rp_filter=0 Сделал - не помогло.

Ответ на: комментарий от zolden

ip a 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 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:25:90:61:af:d2 brd ff:ff:ff:ff:ff:ff inet x.x.x.a/29 brd g.g.g.g scope global eth0:1 inet x.x.x.b/29 brd g.g.g.g scope global secondary eth0:2 inet x.x.x.c/29 brd g.g.g.g scope global secondary eth0:3 inet x.x.x.x/29 brd g.g.g.g scope global secondary eth0:4 inet x.x.x.d/29 brd g.g.g.255 scope global secondary eth0 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:25:90:61:af:d3 brd ff:ff:ff:ff:ff:ff 4: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN link/ipip 0.0.0.0 brd 0.0.0.0 9: gre0: <NOARP> mtu 1476 qdisc noop state DOWN link/gre 0.0.0.0 brd 0.0.0.0 12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN link/gre x.x.x.b peer y.y.y.y inet 10.0.201.2 peer 10.0.201.1/24 scope global tun0

ip r x.x.x.x via 10.0.201.1 dev tun0 x.x.x.f/29 dev eth0 proto kernel scope link src x.x.x.d 10.0.201.0/24 dev tun0 proto kernel scope link src 10.0.201.2 default via x.x.x.d dev eth0

ip ru 0: from all lookup local 32765: from all to x.x.x.x/29 lookup 120 32766: from all lookup main 32767: from all lookup default

iptables-save обмен между двумя серверами полностью ACCEPT

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

на этом форуме есть спец режим разметки (LORCode), чтобы вместо нечитаемого месива (как сейчас) получать что-то более близкое людям

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

Накосячил =( Исправляюсь

ip a
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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:25:90:61:af:d2 brd ff:ff:ff:ff:ff:ff
    inet x.x.x.a/29 brd g.g.g.g scope global eth0:1
    inet x.x.x.b/29 brd g.g.g.g scope global secondary eth0:2
    inet x.x.x.c/29 brd g.g.g.g scope global secondary eth0:3
    inet x.x.x.x/29 brd g.g.g.g scope global secondary eth0:4
    inet x.x.x.d/29 brd g.g.g.255 scope global secondary eth0
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:25:90:61:af:d3 brd ff:ff:ff:ff:ff:ff
4: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN
    link/ipip 0.0.0.0 brd 0.0.0.0
9: gre0: <NOARP> mtu 1476 qdisc noop state DOWN
    link/gre 0.0.0.0 brd 0.0.0.0
12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN
    link/gre x.x.x.b peer y.y.y.y
    inet 10.0.201.2 peer 10.0.201.1/24 scope global tun0
ip r
x.x.x.x via 10.0.201.1 dev tun0
x.x.x.f/29 dev eth0  proto kernel  scope link  src x.x.x.d
10.0.201.0/24 dev tun0  proto kernel  scope link  src 10.0.201.2
default via x.x.x.d dev eth0
ip ru
0:      from all lookup local
32765:  from all to x.x.x.x/29 lookup 120
32766:  from all lookup main
32767:  from all lookup default
iptables-save обмен между двумя серверами полностью ACCEPT

evincar
() автор топика

Пытаюсь создать правило маршрутизации отправляющее всё что поступает на x.x.x.x в туннель ip route add default via 10.0.201.2

как-то это неправильно звучит. все что поступает на Х может пойти дальше только в случае маскарадинга.

иначе на Х должно приходить то, что должно идти на У.

вам, как любителю заменять цифры на буквы, это должно быть понятно:)

nerve ★★
()
sysctl net.ipv4.conf.tunl0.rp_filter=0 Сделал - не помогло.

В качестве бреда: мне помог перевод режима в двойку, хотя, ето может быть одно и то же.

Ну и соглашусь с nerve, маскарадинг должен помоч

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