linux端口映射到内网机器,linux如何将公网IP映射到局域网IP?

单纯的IP映射我不知道如何做,这里有两个思路:

一:把有公网ip的机器做为路由器使用,直接访问内网ip

如果23.234.22.11公网IP的这一台服务器能够访问到192.168.0.x内网,这台服务器应该有一个接口IP如192.168.0.1,可以将内网机器的网关都设置成192.168.0.1,然后在客户端机器增加静态路由

route add -net 192.168.0.0/24 gw 23.234.22.11

理论上应该可以互访问了。这时23.234.22.11这台服务器其实充当的是软件路由器的角色。注意要设置允许IP转发,方法如下:

echo "1" > /proc/sys/net/ipv4/ip_forward

或者编辑/etc/sysctl.conf修改内容

net.ipv4.ip_forward = 1

然后执行

sysctl -p

生效(重启依然有效)。

二:做端口映射,将某个服务重定向到内网

比如使用iptables做端口映射, 比如访问23.234.22.11的80端口重定向到内网的192.168.0.11的80端口,以下代码仅供演示思路,不保证可用

iptables -t nat -A PREROUTING -d 23.234.22.11 -p tcp --dport 80 -j DNAT --to 192.168.0.11:80

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 23.234.22.11

这么做相对要安全些,仅开放了指定的服务(如http,ftp,nfs,smb等)。这时也不用在客户机上设置静态路由了。

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值