首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >端口转发到后端服务器

问端口转发到后端服务器
EN

Server Fault用户
提问于 2018-03-19 20:07:31
回答 1查看 269关注 0票数 0

我使用公共IP在VPS上运行openvpn服务器。有一个后端服务器连接到VPN。这些是VPN上的IP: VPN: 10.8.0.1后端服务器: 10.8.0.2。eth0是公共接口,tun0是VPN接口。

现在,我想将后端服务器上的端口22转发到VPS上的2200端口。下面是我在VPS上所做的工作(基于几个教程和已经提出的问题):

  1. 开放港口2200
  2. 启用IPv4转发
  3. 规则(是的,我正在使用ufw并正确工作):*nat :PREROUTING接受0:0 :POSTROUTING 0:0 -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --目的地10.8.0.2:22 -A POSTROUTING -d 10.8.0.2 tcp -dport 22 -j SNAT --to-source VPS-public-IP:2200 -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j伪装
  4. 重新装载ufw甚至重启一切..。
  5. 尝试了其他解决方案,注释了一些行(例如上面的第一个POSTROUTING规则)。很明显没什么能帮上忙。

nmap VPS-public-IP -p 2200的输出说端口是‘过滤’的,当我尝试ssh到端口2200时,它只是挂起,什么也不做,我甚至没有任何错误--这也发生在我试图通过VPN从VPS到后端服务器(通常可以工作)时。我遗漏了什么?

EN

回答 1

Server Fault用户

发布于 2018-08-31 03:51:29

对于那些仍在寻找解决方案的人来说。

取决于您的转发策略(假设其下降)

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp -d xx.xx.xxx.xxx --dport 80 
         -j DNAT --to-destination yyy.yyy.yy.yy:80
iptables -A FORWARD  -p tcp -d yyy.yyy.yy.yy --dport 80 -j ACCEPT
Result:  x:80 --> X --y:80--> Y

iptables -t nat -A POSTROUTING -p tcp -d yyy.yyy.yy.yy --dport 80
         -j SNAT --to-source xx.xx.xxx.xxx
Result:  x:80 --> X <--y:80--> Y

iptables -A FORWARD  -p tcp -s yyy.yyy.yy.yy --sport 80 -j ACCEPT
Result:  x:80 <--> X <--y:80--> Y

还可以为本地启动的连接添加此规则:x-> x:80

代码语言:javascript
复制
iptables -t nat -A OUTPUT -p tcp --dport 80 -d xx.xx.xxx.xxx
         -j DNAT --to-destination yyy.yyy.yy.yy:80  
Result:       
  x:80 ->- X <--y:80--> Y
     |_____V
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/903460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档