内网中的机器能映射到外网吗?

tongjun741 2011-07-19 06:04:49
我在内网有一台机器192.168.1.2,想把内网中所有192.168.1.2的4431端口访问都转发到一个外网机器119.1.1.1的443端口,可以吗?

192.168.1.2是一台linux机器,可以完全控制。119.1.1.1无法控制。
据说经过路由了就不可以用iptables实现了,是这样的吗?
...全文
217 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongjun741 2011-07-21
  • 打赏
  • 举报
回复
自己解决了。

iptables对经过路由的映射确实不能完全解决,有些可以,有些不行:

echo "1" >/proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -t nat -A PREROUTING -j DNAT -p tcp --dport 4431 --to 119.1.1.1:80
iptables -t nat -A POSTROUTING -j SNAT -d 119.1.1.1 -p tcp --dport 80 --to 192.168.1.2

我把我的虚拟机映射到百度的80端口,用浏览器通过虚拟机的端口访问不成功。换成映射另外一个网站的80端口就可以访问了。试着映射了几台外网机器的22端口,一个都没成功。

最后还是用ssh的方法解决了,在虚拟机192.168.1.2上运行:

ssh -g 127.0.0.1 -R 4431:119.1.1.1:22

然后在内网中另外一台机器上就可以通过192.168.1.2的4431端口来访问外网119.1.1.1的22端口了。
直接在192.168.1.2上ssh -p 4431 root@192.168.1.2或ssh -p 4431 root@127.0.0.1也行。
tongjun741 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mywine 的回复:]
是的经过路由就可以不用iptables实现
iptables应该这样实现
iptables -t nat -I POSTROUTING -d 192.168.1.2 -j SNAT --to-destnation 119.1.1.1
试试没环境没测试
另外路由器的内网映射也可以实现
[/Quote]

路由器也不能控制,通过其它软件的方式可以实现吗?比较代理。
mywine 2011-07-19
  • 打赏
  • 举报
回复
destination t后少了个i
mywine 2011-07-19
  • 打赏
  • 举报
回复
是的经过路由就可以不用iptables实现
iptables应该这样实现
iptables -t nat -I POSTROUTING -d 192.168.1.2 -j SNAT --to-destnation 119.1.1.1
试试没环境没测试
另外路由器的内网映射也可以实现

19,619

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧