Попытка настроить перенаправление портов через 2-й шлюз

Я пытаюсь настроить конфигурацию, при которой все подключения к порту 161 будут проходить через другой шлюз (через openvpn), а другие — напрямую

[localhost] -> [шлюз] -> [удаленный] — OK

[localhost] <- [шлюз] <- [удаленный] - пакет исчезает после туннеля vpn. Я могу понюхать это на tun0 iface, а потом оно исчезает.

Что я сделал: добавлен gw1 в rt_tables затем использовал эти правила

ip route add default via 10.8.0.1 dev tun0 table gw1
ip rule add fwmark 0x1 table gw1
iptables -A OUTPUT -t mangle -o eth0 -p tcp --dport 443 -j MARK --set-mark 1
iptables -A POSTROUTING -t nat -o tun0 -p tcp --dport 443 -j SNAT --to 10.8.0.2
iptables -A OUTPUT -t mangle -o eth0 -p udp --dport 161 -j MARK --set-mark 1
iptables -A POSTROUTING -t nat -o tun0 -p udp --dport 161 -j SNAT --to 10.8.0.2

Итак, я тестирую соединения tcp и udp и что я вижу:

  • На удаленной стороне все работает правильно, и пакет отправляется обратно. к шлюзу в eth0
  • На шлюзе пакет передается обратно в туннель vpn (tun0)
  • На локальном хосте, который отправил этот пакет, я вижу, как пакет поступает на 10.8.0.2 (tun0) в tshark и потом пропадает. И localhost выполняет TCP-ретрансляцию или повторно отправляет UDP-пакет.

Я проверил захват пакетов в wirehark, и все порты указаны правильно, поэтому он использует один и тот же случайный динамический порт во время всей этой передачи: вперед и назад. Я также безуспешно пытался использовать маскарад на локальном хосте вместо SNAT. Пробовал перенаправлять пакеты с DNAT на 127.0.0.1 безуспешно, но я не уверен, может быть, я делаю что-то не так.

Почему этот пакет исчезает после tun0? Моя входная цепочка пока позволяет все. Возможно, мне нужно включить или отключить какие-либо новые «функции» в sysctl.conf, который меня не беспокоит?

Спасибо

0
17.04.2019, 20:49
1 ответ

Мои правила верны

Решение:

for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done
echo 1 > /proc/sys/net/ipv4/route/flush 

Теперь все работает нормально. Обратите внимание, что вам нужно отключить это на каждом интерфейсе, опция «все» не работает нормально.

0
28.01.2020, 03:49

Теги

Похожие вопросы