У меня были проблемы с выполнением NAT (трафика VPN-пула после расшифровки) через тот же интерфейс, который был закрыт VPN. Любая идея, как добиться этого поста IPSEC NAT.
Пул NAT 10.10.10.0/24
|
[Server VPN Strong Swan] Eth1 (общедоступный IP-адрес) ---------- Интернет----------- Удаленный сайт (10.10.10.1)
Как только удаленный сайт подключается и генерирует данные на основе TCPDUMP, я вижу, что 10.10.10.1 выходит из Eth1, но когда я применяю следующие правила NAT... это не работает.
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на enp7s0f1, тип канала EN10MB (Ethernet), размер захвата 262144 байт
12:39:10.344051 IP 10.10.10.1.37438 > 1.1.1.1.80: флаги [S], seq 2217548787, win 65535, параметры [mss 1360,sackOK,TS val 2808310009 ecr 0,nop,wscale 8], длина 0
12:39:10.344073 IP 10.10.10.1.37438 > 1.1.1.1.80: флаги [S], seq 2217548787, win 65535, параметры [mss 1360,sackOK,TS val 2808310009 ecr 0,nop,wscale 8], длина 0
12:39:10.350632 IP 10.10.10.1.37440 > 1.1.1.1.80: флаги [S], seq 3855195472, win 65535, параметры [mss 1360,sackOK,TS val 2808310009 ecr 0,nop,wscale 8], длина 0
12:39:10.350653 IP 10.10.10.1.37440 > 1.1.1.1.80: флаги [S], seq 3855195472, win 65535, параметры
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -m policy --dir out --pol ipsec -j ПРИНЯТЬ
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE
Настройка VPN-сервера:
настройка конфигурации
charondebug="ike 1, knl 1, cfg 0"
уникальные идентификаторы = да
подключение ikev2-vpn
авто=добавить
сжать=нет
тип=туннель
обмен ключами=ikev2
фрагментация=да
форсэнкапс=да
dpdaction=очистить
dpddelay=300 с
ключ = нет
слева=% любой
[email protected]
leftcert=сервер-cert.pem
leftsendcert=всегда
левая подсеть=0.0.0.0/0
справа=%любой
правый ID=%любой
правая авторизация = eap-mschapv2
исходный код=10.10.10.0/24
правый DNS = 8.8.8.8
rightsendcert=никогда
eap_identity=%идентификация
ike=chacha20poly1305-sha512-curve25519-prfsha512,aes256gcm16-sha384-prfsha384-ecp384,aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024!
esp=chacha20poly1305-sha512,aes256gcm16-ecp384,aes256-sha256,aes256-sha1,3des-sha1!
Таблица NAT
VPN-сервер@localhost:~$ sudo iptables -t nat -L -v
Цепочка PREROUTING (политика ACCEPT 180 пакетов, 48445 байт)
pkts bytes target prot opt in out source target
Цепочка INPUT (политика ACCEPT 0 пакетов, 0 байтов)
pkts bytes target prot opt in out source target
Цепочка OUTPUT (политика ACCEPT 76 пакетов, 6166 байт)
pkts bytes target prot opt in out source target
Цепочка POSTROUTING (политика ACCEPT 76 пакетов, 6166 байт)
pkts bytes target prot opt in out source target
294 28462 LIBVIRT_PRT все -- любое любое где угодно где угодно
0 0 MASQUERADE all -- any any 10.193.135.0/24 !10.193.135.0/24 /* сгенерировано для многопроходной сети mpqemubr0 */
0 0 MASQUERADE udp -- любой любой 10.193.135.0/24 !10.193.135.0/24 /* создан для многопроходной сети mpqemubr0 */ порты masq: 1024-65535
0 0 MASQUERADE tcp -- любой любой 10.193.135.0/24 !10.193.135.0/24 /* сгенерирован для многопроходной сети mpqemubr0 */ порты masq: 1024-65535
0 0 RETURN all -- any any 10.193.135.0/24 255.255.255.255 /* сгенерировано для многопроходной сети mpqemubr0 */
0 0 RETURN all -- any any 10.193.135.0/24 base-address.mcast.net/24 /* сгенерировано для многопроходной сети mpqemubr0 */
0 0 MASQUERADE all -- any Eth1 172.17.0.0/24 везде
91 12895 MASQUERADE все -- любой Eth1 10.10.10.0/24 везде
0 0 ACCEPT all -- any Eth1 10.10.10.0/24 везде соответствие политике dir out poli ipsec
Цепь LIBVIRT_PRT (1 ссылка)
pkts bytes target prot opt in out source target
1 40 RETURN all -- any any 192.168.122.0/24 base-address.mcast.net/24
0 0 RETURN all -- any any 192.168.122.0/24 255.255.255.255
0 0 MASQUERADE tcp -- любой любой 192.168.122.0/24 !192.168.122.0/24 masq порты: 1024-65535
0 0 MASQUERADE udp -- любой любой 192.168.122.0/24 !192.168.122.0/24 masq порты: 1024-65535
0 0 MASQUERADE все -- любой любой 192.168.122.0/24 !192.168.122.0/24