У меня есть Site to Site VPN на Debian box, который настраивается rackoon. Однако он работает нормально, поскольку подсети перекрываются. NAT используется на обоих концах VPN (1.1.1.1/32 и 2.2.2.2/32).
В обеих подсетях у меня есть службы, которыми я хочу поделиться, поэтому я iptables перенаправляет эти порты за меня на внутренний сервер, что отлично работает.
Я также могу получить доступ к этим сервисам с обоих концов VPN - так что 1.1.1.1/32 и 2.2.2.2/32.
Теперь у меня есть несколько других подсетей, подключенных к ящику 2.2.2.2/32:
10.0.3.0/24 10.0.4.0/24 ....
(полная таблица маршрутизации прилагается в конце)
а для компьютеров в этих сетях мне нужно связаться с одной службой - на коробке 1.1.1.1 порт 1111. Я подумал, что снова буду использовать iptables и перенаправлю весь TCP-трафик на 1.1.1.1 с изменением источника. Я сделал это следующим образом:
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -d 1.1.1.1 -j SNAT --to-source 2.2.2.2 iptables -t nat -A PREROUTING -p tcp -d 2.2.2.2 --dport 1111 -j DNAT --to-destination 1.1.1.1
Но теперь, когда я пытаюсь подключиться к этой службе, я получаю ошибку «Нет маршрута к хосту»:
telnet 10.0.0.1 1111 Trying 10.0.0.1... telnet: Unable to connect to remote host: No route to host
Так что я немного озадачен. Я думаю, что проблема может быть в маршрутизации на ящике Debian:
2.2.2.2 via 1.1.1.1 dev eth0 src 1.1.1.1
Однако я не совсем уверен, почему это не работает?
Маршрутизация из окна Debian:
10.0.0.0/27 dev eth1 proto kernel scope link src 10.0.0.1 10.0.2.0/24 via 10.0.0.2 dev eth1 10.0.3.0/24 via 10.0.0.3 dev eth1 10.0.4.0/24 via 10.0.0.4 dev eth1 10.0.5.0/24 via 10.0.0.5 dev eth1 10.0.6.0/24 via 10.0.0.6 dev eth1 10.0.7.0/24 via 10.0.0.7 dev eth1 1.1.1.1 via 2.2.2.2 dev eth0 src 2.2.2.2
Есть идеи, что может быть не так?
Вы упомянули, что некоторые подсети перекрываются? Если вы находитесь на одной стороне VPN и пытаетесь связаться с чем-то на другой стороне VPN с той же подсетью, ваша рабочая станция даже не будет отправлять трафик на маршрутизатор. У вас должны быть разные подсети на каждом конце VPN, чтобы ваши рабочие станции отправляли трафик на маршрутизатор.