Я пытаюсь подключить свою рабочую станцию Windows 7 к Интернету через туннель ipsec.
Я имею:

192.168.88.251  - win7 workstation
192.168.88.1    - my mikrotik router
VPN_IPSEC       - my vpn with ipsec address
VPN_TEST        - my 2nd vpn for connectiviti testing

Конфигурация StrongSwan в VPN_IPSEC:

config setup
 charondebug="ike 1, knl 1, cfg 0"
 uniqueids=no

conn ikev2-vpn
 auto=add
 compress=no
 type=tunnel
 keyexchange=ikev2
 fragmentation=yes
 forceencaps=yes

 ike=aes256-sha-modp1024
 esp=aes256-sha-modp1024
 dpdaction=clear
 dpddelay=300s
 rekey=no

 left=%any
 leftid=VPN_IPSEC_IP
 leftsendcert=always
 leftsubnet=0.0.0.0/0

 right=%any
 rightid=%any
 authby=secret
 rightsubnet=192.168.88.251/24
 rightdns=8.8.8.8,8.8.4.4

На стороне микротик у меня есть соответствующий конфиг

Вывод команды ipsec status:

ikev2-vpn[1]: ESTABLISHED 110 minutes ago, 
VPN_IPSEC_IP[VPN_IPSEC_IP]...MY_PUB_IP[MY_PUB_IP]
 ikev2-vpn{1}:  INSTALLED, TUNNEL, ESP SPIs: ca494e15_i 099301b9_o
 ikev2-vpn{1}:   0.0.0.0/0 === 192.168.88.251/32 

Видимо мой туннель ipsec работает правильно. На VPN_IPSEC я делаю ping 192.168.88.251, и я вижу ping.  В то же время, когда на win7 я выполняю ping 8.8.8.8, я вижу трафик в разделе установленного SA на mikrotik, и если я создаю некоторые правила брандмауэра для VPN_IPSEC, который работает с 192.168.88.251, я вижу, что соответствующие счетчики растут.

На VPN_IPSEC у меня есть эта начальная конфигурация брандмауэра:

Chain INPUT (policy ACCEPT 936 packets, 92296 bytes)

Chain FORWARD (policy ACCEPT 483 packets, 29148 bytes)

Chain OUTPUT (policy ACCEPT 306 packets, 30108 bytes)

Таблица NAT одинакова: все принимают

Теперь я теперь, когда зашифрованный трафик с win7 приходит на VPN_IPSEC. Я хочу сейчас, чтобы он пересылался за пределы VPN_IPSEC.

На win7 делаю

ping VPN_TEST

На VPN_IPSEC делаю

tcpdump  -nni venet0 icmp

Я вижу:

IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 512, seq 21277, length 40


IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 512, seq 49949, length 40

т.е. нет ответа

Теперь я добавляю правило POSTROUTING:

iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o venet0 -j MASQUERADE

IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 25095, seq 301, length 64
IP 185.69.52.31 > VPN_TEST_IP: ICMP echo request, id 25095, seq 301, length 64
IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 25095, seq 302, length 64
IP 185.69.52.31 > VPN_TEST_IP: ICMP echo request, id 25095, seq 302, length 64

т.е. нет ответа, но я вижу, что пакеты маскируются

В то же время на VPN_TEST я делаю:

tcpdump  -nni eth0 icmp

и я не вижу пингов от моего VPN_IPSEC, но я вижу случайные пинги с интернет-хостов.

Я тоже делаю на win7:

ping 8.8.8.8 

И я не получаю ответа.

В то же время, когда я делаю на VPN_IPSEC

ping VPN_TEST

Я вижу все пинги на обоих tcpdumps и вижу ответ

т. е. трафик из моего туннеля остается на VPN_IPSEC

Как это кошка быть ??

Как правильно настроить брандмауэр на VPN_IPSEC.

UPD: я знаю, что для совместного доступа к интернету я должен создать правила маскировки и пересылки. Также у меня должен быть net.ipv4.ip_forward = 1. У меня это уже есть. И я попробовал много правил маскировки и переадресации в миксе. БЕЗРЕЗУЛЬТАТНО.

В настоящее время я хочу только видеть, что мой эхо-запрос из туннеля переходит к моему VPN_TEST и возвращается к VPN_IPSEC.

1 ответ1

0

Моя проблема была в ограничениях OpenVz VPS. Когда я запускаю тот же туннель ipsec на VPS с гипервизором KVM , проблема была решена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .