Сценарий:
INTERNET --- VPN-Server <----> ROUTER <----> Roadwarrior <----> Subnet
132.1.1.1 192.168.2.1 192.168.2.50 176.168.10.0/24
|
INTERNET
VPN-сервер: CISCO
Roadwarrior: racoon в linux
Я пытаюсь настроить этот сценарий так, чтобы весь Интернет-трафик из подсети 176.168.10.0/24 проходил через VPN-сервер, а не через маршрутизатор.
Пока: могу подключиться к VPN-серверу через Roadwarrior. Также весь трафик, генерируемый Roadwarrior, проходит через VPN-сервер в Интернет. Однако трафик из подсети, маршрутизируемый с помощью следующей команды, проходит через маршрутизатор в Интернете:
iptables -t nat -A POSTROUTING -s 176.168.10.0/24 -j SNAT --to-source 192.168.2.50
Используя следующую команду, трафик из подсети не проходит в Интернет (ни через маршрутизатор, ни через VPN-сервер):
iptables -t nat -A POSTROUTING -s 176.168.10.0/24 -j SNAT --to-source 132.1.2.2 (internal ip assigned to roadwarrior from VPN-Server)
Любые идеи?
Дорожный Воин:
eth0 192.168.2.50
eth0:1 132.1.2.2
br0 176.168.10.1
ip route list
default via 192.168.2.1 dev eth0 src 132.1.2.2
132.1.0.0/16 dev eth0 proto kernel scope link src 132.1.2.2
132.1.1.1 via 192.168.2.1 dev eth0
176.168.10.0/24 dev br0 proto kernel scope link src 176.168.10.1
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.50
Нашел ... Скрипт phase1-up.sh в конце содержит следующие строки:
44 #
45 # XXX This is a workaround for Linux forward policies problem.
46 # Someone familiar with forward policies please fix this properly.
47 #
48 echo "
49 spddelete 0.0.0.0/0[any] ${INTERNAL_ADDR4}[any] any
50 -P fwd ipsec esp/tunnel/${REMOTE}-${LOCAL}/require;
51 " | setkey -c
52
Этот код необходимо закомментировать, чтобы не удалить политику пересылки. Тогда простой
iptables -t nat -A POSTROUTING -o $WAN_IP -j MASQUERADE
делает свое дело.