相当一段时间以来,我一直试图转发VPN内部的两个设备之间的端口或/和连接,但我无法理解。我在Debian9.0 x64和ExternalIP上安装了VPS。我从github创建了基于hwdsl2/setup VPN的vpn。它已经安装好了,一切正常。我可以通过VPN连接到服务器,我的IP地址可以更改为ExternalIP。
现在的问题是,我想走另一条路。
IncommingIP -> (eth0) ExternalIP -forwarded to-> (pppX) VPNIP
我的currnet iptables如下所示:
# Generated by iptables-save v1.6.0 on Mon Jun 29 10:55:31 2020
*nat
:PREROUTING ACCEPT [21617:1100891]
:INPUT ACCEPT [17101:829091]
:OUTPUT ACCEPT [703:55681]
:POSTROUTING ACCEPT [703:55681]
-A PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination 8.8.8.8
-A PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination 8.8.8.8
-A POSTROUTING -s 192.168.42.0/24 -o eth0 -j MASQUERADE
#-A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.42.10:8080
#-A POSTROUTING -d 192.168.42.10 -o ppp0 -p tcp --dport 8080 -j SNAT --to-source 192.168.42.1
-A PREROUTING --src 0/0 --dst 192.168.42.10 -p tcp --dport 8080 -j REDIRECT --to-ports 8080
COMMIT
# Completed on Mon Jun 29 10:55:31 2020
# Generated by iptables-save v1.6.0 on Mon Jun 29 10:55:31 2020
*filter
:INPUT ACCEPT [16:676]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [221:33480]
:f2b-sshd - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol none -j DROP
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m multiport --dports 500,4500 -j ACCEPT
-A INPUT -p udp -m udp --dport 1701 -m policy --dir in --pol ipsec -j ACCEPT
-A INPUT -p udp -m udp --dport 1701 -j DROP在我尝试前/后路由之后,有一些不起作用的剩馀部分。
我应该更改什么来使它作为转发工作,比如说测试端口8080?另外,为什么我不能在VPN网络内连接?(只有ping在工作)那么括号里的数字到底是什么?:PREROUTING ACCEPT [21617:1100891]
请帮帮忙
发布于 2020-12-11 21:12:25
你的NAT规则不正确。尝试以下操作(假设您刚刚刚刚安装了IPSec/VPN服务器)
查看现有NAT链规则(删除前):
$ sudo iptables -t nat -L -n --line-numbers删除现有的NAT规则:
$ sudo iptables -t nat -D POSTROUTING 3重复上面的命令,直到剩下以下两条NAT规则:
1 MASQUERADE all -- 192.168.42.0/24 0.0.0.0/0
2 MASQUERADE all -- 192.168.43.0/24 0.0.0.0/0 policy match dir out pol none现在是时候添加DNAT规则了,它将把TCP 8080从internet IP (1.2.3.4)转发到VPN客户端IP (192.168.42.10)。
$ sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 192.168.42.10:8080这就是你所需要的。然后,如果所有工作正常,则可以保存iptable规则。
https://unix.stackexchange.com/questions/598882
复制相似问题