Назад | Перейти на главную страницу

Использование клиента ipsec roadwarrior в качестве шлюза

Сценарий:

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 

делает свое дело.