我在我的 RaspberryPI 上全天候运行 OpenVPN 隧道,但也想通过端口 25565 使用我的真实公共 IP 地址访问它。
我已经使用路由器转发了端口,并且没有启用 OpenVPN,端口已打开并正常工作。
ncat -l 25565
通过和进行测试https://www.yougetsignal.com/tools/open-ports/
但如果我再次启用VPN,它显然不起作用,由此我得出结论,我需要25565
从OpenVPN隧道中排除端口。
通过谷歌搜索我找到了 iptables,但它似乎不起作用。
- 网关是 192.168.1.1
- Raspberry 是 192.168.1.103
我试过:
- 添加 iptables:
sudo iptables -A FORWARD -j ACCEPT -p udp --dport 25565 --sport 1024:65535 -d 192.168.1.1 -m state --state NEW<br>
sudo iptables -A FORWARD -j ACCEPT -p tcp --dport 25565 --sport 1024:65535 -d 192.168.1.1 -m state --state NEW<br>
sudo iptables -t nat -A PREROUTING -i pppoe_dsl -p udp --dport 25565 -j DNAT --to-destination 192.168.1.103:25565<br>
sudo iptables -t nat -A PREROUTING -i pppoe_dsl -p tcp --dport 25565 -j DNAT --to-destination 192.168.1.103:25565
- 在 OpenVPN 配置文件末尾添加以下内容:
route 192.168.1.1 255.255.255.0 net_gateway
我就是无法让它工作。有人能帮我吗?
我的 VPN 提供商是 PIA,这是我的配置文件(.... = 证书):
client
dev tun
proto udp
remote czech.privateinternetaccess.com 1198
resolv-retry infinite
nobind
persist-key
persist-tun
cipher aes-128-cbc
auth sha1
tls-client
remote-cert-tls server
auth-user-pass /etc/openvpn/login.conf
compress
verb 1
reneg-sec 0
<crl-verify>
-----BEGIN X509 CRL-----
....
-----END X509 CRL-----
</crl-verify>
<ca>
-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----
</ca>
disable-occ
答案1
找到了解决方案:将其添加到我的 openvpn 配置文件中:
script-security 2
route-up /etc/openvpn/route-up.sh
route-up.sh 包含:
ip route flush table 100
ip route flush cache
sudo ip rule add from 192.168.1.103 table 100
sudo ip route add table 100 to 192.168.1.0/24 dev eth0
sudo ip route add table 100 default via 192.168.1.1