OpenVPN 在您连接时会清晰显示 DNS 服务器,但我想将其隐藏起来。(例如,它会在 Windows 中的日志和网络适配器中显示)
DNS 服务器已经有规则,只从 VPN IP 地址接收 DNS 请求。(我已经用 IP 表保护 DNS 服务器,以接收来自已经验证的 VPN IP 地址的请求)现在我想隐藏 IP,防止其遭受 DDoS 或其他类型的恶意攻击。
为什么?
因为所有 VPN 服务器只有 2 台服务器,但如果这两台服务器出现故障,VPN 就会停止工作。
我已经尝试过一条路线,但没有成功。
这就是我的实际 iptables 规则。
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s cc.cc.cc.cc -j ACCEPT
iptables -A INPUT -p udp --dport 22 -s cc.cc.cc.cc -j ACCEPT
iptables -A INPUT -p udp --dport 53 -s xx.xx.xx.81 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -s xx.xx.xx.81 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p udp --dport 22 -j DROP
iptables -A INPUT -p udp --dport 53 -s xx.xx.xx.81 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -s xx.xx.xx.81 -j ACCEPT
iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to yy.yy.yy.120:53
iptables -t nat -A OUTPUT -p tcp --dport 53 -j DNAT --to yy.yy.yy.120:53
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
iptables -A PREROUTING -t nat -i eth0 -p udp --dport 443 -j REDIRECT --to-port 20303
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 13019
OpenVPN 服务器.conf
server 10.8.0.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1"
push "dhcp-option DNS yy.yy.yy.120"
注意:二十.81是 VPN 服务器,120年是 DNS 服务器。
答案1
您无法隐藏它,因为如果您希望 DNS 为客户端工作,则需要为客户端提供 DNS 服务器。您可以在 VPN 端点 (xxx81) 上设置 DNS 服务器,并告诉它只将所有查询转发到 xxx120,这样您的客户端就只能看到他们已经知道的 VPN 端点。