如何在 OpenVPN 中阻止到特定子域的流量?

如何在 OpenVPN 中阻止到特定子域的流量?

我有一个带有一些 vpn 客户端的 OpenVPN 服务器,我想阻止所有客户端访问此子域:teamspeak.site.com 有没有办法通过 OpenVPN 配置实现这一点?如果没有,那么 iptables 规则怎么样?我首先尝试使用 hosts 文件,但似乎 OpenVPN 不考虑该文件。这是我的 OpenVPN 配置:

port 1194 #- port
proto udp #- protocol
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
reneg-sec 0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
#plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login #- Comment this line if you are using FreeRADIUS
#plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf #- Uncomment this line if you are using FreeRADIUS
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3

答案1

您可以尝试如下 iptables 规则:

iptables -A FORWARD -i tun0 -d <IP of teamspeak.site.com> -j REJECT

这将拒绝任何通过 tun0 传入的发往 的连接尝试teamspeak.site.com

您需要事先解析域名IP地址。

相关内容