当 strongswan ikev2 隧道未建立时如何阻止流量

当 strongswan ikev2 隧道未建立时如何阻止流量

Strongswan ikev2 网络管理器插件network-manager-strongswan安装在 ubuntu 20.04.4 上并配置为自动重新连接。但是当 VPN 不可用时,我想阻止所有可能的传出流量。Strongswan 不会创建单独的隧道接口。而是将虚拟 IP(在我的情况下为 192.168.22.0/24 子网)添加到现有接口并插入相应的路由,例如:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1c:dd:23:11:5d brd ff:ff:ff:ff:ff:ff
    inet 10.22.48.4/24 brd 10.22.48.255 scope global dynamic noprefixroute enp0s5
       valid_lft 1781sec preferred_lft 1781sec
    inet 192.168.22.12/32 scope global enp0s5
       valid_lft forever preferred_lft forever
$ ip route show table 220
default via 10.22.48.1 dev enp0s5 proto static src 192.168.22.12 
10.22.48.0/24 dev enp0s5 proto static src 10.22.48.4 

我不想依赖 vpn up/down 脚本。还有类似解决方案如何在 VPN 连接之前阻止通过 wifi 的流量?由于我没有单独的隧道接口,因此无法工作。

到目前为止我的防火墙配置:

ufw allow out 53                              comment "dns"
ufw allow out 67:68/udp                       comment "dhcp"
ufw allow out 500,4500/udp                    comment "ipsec ikev2"
ufw allow out from 192.168.22.0/24            comment "from ipsec ip"
ufw allow out from 127.0.0.0/8 to 127.0.0.0/8 comment "lo"
ufw  deny out to 0.0.0.0/0

但我不确定这个解决方案是否足够好。感觉我确实遗漏了一些东西。例如,我需要明确允许 DNS。看起来它没有通过隧道。

更新型多巴胺 服务器端的 Libreswan ikev2.conf

conn ikev2-cp
  left=%defaultroute
  leftcert=<hidden>
  leftsendcert=always
  leftsubnet=0.0.0.0/0
  leftrsasigkey=%cert
  right=%any
  rightid=%fromcert
  rightaddresspool=192.168.22.10-192.168.22.250
  rightca=%same
  rightrsasigkey=%cert
  narrowing=yes
  dpddelay=30
  dpdtimeout=120
  dpdaction=clear
  auto=add
  ikev2=insist
  rekey=no
  pfs=no
  ike=aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1
  phase2alg=aes_gcm-null,aes128-sha1,aes256-sha1,aes128-sha2,aes256-sha2
  ikelifetime=24h
  salifetime=24h
  encapsulation=yes
  leftid=<hidden>
  modecfgdns="8.8.8.8 8.8.4.4"
  mobike=no
  authby=rsa-sha1

相关内容