仅向通过 IKEv2 (strongswan) 连接的 VPN 客户端开放端口

仅向通过 IKEv2 (strongswan) 连接的 VPN 客户端开放端口

我有一台服务器,我使用 Strongswan 和 IKEv2 设置通过 VPN 连接到该服务器,它按预期工作。此设置将我的客户端计算机分配到该范围内的 IP 10.10.10.0/24。我希望能够打开所有端口通过 VPN 连接到服务器的客户端向服务器发送信息。这种情况可能吗?我可以编写一条针对来自 VPN 客户端的所有内容的规则吗?

这是我目前的一套iptables.rules

*filter

# default policies
-P INPUT DROP
-P OUTPUT ACCEPT
-P FORWARD DROP

# established connections keep working
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# connections from loopback are accepted
-A INPUT -i lo -j ACCEPT

# invalid requests
-A INPUT -m state --state INVALID -j DROP

# sshd
-A INPUT -p tcp --dport 22 -j ACCEPT

# ikev2/ipsec
-A INPUT -p udp -m udp --dport 500 -j ACCEPT
-A INPUT -p udp -m udp --dport 4500 -j ACCEPT

# pings
-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# forward VPN traffic anywhere
-A FORWARD -s 10.10.10.0/24 -m policy --dir in --pol ipsec --proto esp -j ACCEPT
-A FORWARD -d 10.10.10.0/24 -m policy --dir out --pol ipsec --proto esp -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-unreachable
-A FORWARD -j REJECT --reject-with icmp-host-unreachable
COMMIT

*mangle
# reduce MTU/MSS values for dumb VPN clients
-A FORWARD -s 10.10.10.0/24 -o eth0 -p tcp -m policy --dir in --pol ipsec -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
COMMIT

*nat
# masquerade VPN traffic over eth0
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
COMMIT

相关内容