我有一台具有公共 IP 地址的托管 Linux 服务器。我想将其配置为 VPN 服务器。然后我想将其所有服务隐藏在此 VPN 后面,这样如果我打开套接字,则默认情况下可以通过 VPN 访问它,而不能通过 Internet 访问。
是否可以?
答案1
Iptables 很有用!
例如,在 eth0 接口上运行 openvpn,使用 1194 tcp 端口,并且您的 vpn 接口是“tun0”
#Flush you input tables
iptables -F INPUT
#Allow connection to openvpn
iptables -i eth0 -p tcp --dport 1194 -j ACCEPT
#Allow connction through you vpn interface
iptables -i tun0 -j ACCEPT
# set you default INPUT policy to DROP
iptables -P INPUT DROP
因此,您可以使用 vpn 地址或其他 vpn 接口(ipsec0、gre、tap 等)设置过滤器(规则 3)。
答案2
将服务附加到 VPN 的接口/ip。要使 ssh 仅监听 VPN-ip,请更改“sshd_config”:
#Listen 0.0.0.0
Listen 10.62.63.1
与 apache 等等相同..
您还可以对公共 IP 设置防火墙,并且只允许 VPN 访问。
答案3
当然,只要适当设置iptables规则即可。