Хочу сменить открытый IPIP на шифрованный StrongSwan
Интерфейс
cat /etc/systemd/network/ipsec0.netdev
[NetDev]
Name=ipsec0
Kind=xfrm
[Xfrm]
InterfaceId=42
Independent=yes
cat /etc/systemd/network/ipsec0.network
[Match]
Name=ipsec0
[Network]
Address=192.168.254.51/28
Конфигурация
cat /etc/swanctl/swanctl.conf
connections {
conn-to-gtw-2 {
remote_addrs = белый.ip.ад.рес
local {
auth = psk
id = gtw-1
}
remote {
auth = psk
id = gtw-2
}
children {
child-to-gtw-2 {
local_ts = 0.0.0.0/0
remote_ts = 0.0.0.0/0
if_id_in = 42
if_id_out = 42
esp_proposals = aes256gcm128-ecp256
start_action = start
}
}
version = 2
proposals = aes256-sha256-ecp256
}
}
secrets {
ike-1 {
secret = "безумносложныйпасс"
}
}
Но дело в том, что на gtw-1 настроен OpenVPN, и маршрутит он не весь трафик в туннель, а только тот, который маркируется
table ip mangle {
set ovpn {
type ipv4_addr
flags interval
elements = {
список ip
}
}
chain PREROUTING {
type filter hook prerouting priority mangle;
ip daddr { 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 } return
meta l4proto { tcp, udp } th dport { нужные порты} meta mark set 0x1
ip daddr @ovpn meta mark set 0x1
}
chain POSTROUTING {
type nat hook postrouting priority srcnat;
oif "tun0" snat to 10.8.0.3
}
chain OUTPUT {
type route hook output priority mangle;
meta l4proto { tcp, udp } th dport { нужные порты } meta mark set 0x1
ip daddr @amstrd meta mark set 0x1
}
}
В rule’ях всё, что помечено, заруливается на IP из цепочки POSTROUTING на адрес 10.8.0.3
туннель swanctl поднимается, но вот мерцавец, на стороне gtw-1 отправляет пакеты с адреса ovpn
swanctl -l
conn-to-gtw-2: #2, CONNECTING, IKEv2, 96ea3fd23e9fbfeb_i* 0000000000000000_r
local '%any' @ 10.8.0.3[500]
remote '%any' @ белый.ip.ад.рес[500]
active: IKE_VENDOR IKE_INIT IKE_NATD IKE_CERT_PRE IKE_AUTH IKE_CERT_POST IKE_CONFIG IKE_AUTH_LIFETIME IKE_MOBIKE IKE_ESTABLISH CHILD_CREATE
Как ему скормить внешний IP gtw-1?
