
Я хочу пересылать пакеты из одной подсети в другую, находящуюся на расстоянии более одного перехода; возьмем, к примеру:
[ 192.168.0.4 ] - - - > [ 192.168.10.11 ] - - - > [ 172.23.100.13 ]
Я хотел бы подключить 192.168.0.4 к 172.23.100.13, но проблема в следующем:
# ip route add 172.23.100.13/32 via 192.168.10.11
Error: Nexthop has invalid gateway.
Насколько я понимаю, Error: Nexthop has invalid gateway.
это означает: «Вы не можете этого сделать, потому что 192.168.10.11 не входит в сеть 192.168.0.0/24, в которой вы находитесь».
Мой вопрос в том, возможно ли это с правилами iptables; я предполагаю, что это возможно, но мне пока не удалось заставить все работать. После некоторого чтения я попытался установить правило PREROUTING nat для отправки пакетов, идущих на 172.23.100.13, на 192.168.10.11:
# iptables -t nat -A PREROUTING -d 172.23.100.13 -j DNAT --to-destination 192.168.10.11
К сожалению, ничего не происходит. Я даже не уверен, как приступить к отладке. Я пробовал:
# iptables -t nat -A PREROUTING -d 172.23.100.13 -j LOG
но в журналах ничего не появляется
Я также попробовал tcpdump:
tcpdump -i <interface> -vv | egrep '(172.23.109.13|192.168.10.11)’ &
но получаем только следующую повторяющуюся строку:
192.168.0.4.43898 > 172.23.100.13.8000: Flags [S], cksum 0x2374 (incorrect -> 0xa00f), seq 573960788, win 62727, options [mss 8961,sackOK,TS val 1537225626 ecr 0,nop,wscale 7], length 0
Правильный ли это подход? Есть ли какие-нибудь подсказки, на что следует обратить внимание?
Спасибо!
решение1
Я обнаружил недостающую часть этой головоломки. Машина 192.168.10.11
может отправлять пакеты, 172.23.100.13
потому что, по-видимому, есть интерфейс VXLAN для 172.23.100.0/24
сети; следовательно, возвращаемся к фундаментальному требованию, что две сети должны быть подключены к машине для маршрутизации к ним.