云梦
www.htcp.net

Linux iptables 内网转发映射方案

案例

我在服务器上有一个虚拟机,需要将虚拟机(内网)的某个端口转发到公网上面。下面利用 iptables 做一下转发。

示例如下:
服务器:
公网 IP 地址:195.152.152.52
网卡出网端口:eno1
需要转发到的端口:3388

虚拟机:
内网 IP 地址:192.168.122.11
内网网关地址:192.168.122.1
需要映射到公网的端口:3389

方法

临时方法:
首先开启 ip 转发,这个在服务器上面一般是开启的,所以不用:
echo 1 > /proc/sys/net/ipv4/ip_forward

命令如下:

在服务器上执行,虚拟机无需任何改动:

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3388 -j ACCEPT
iptables -t nat -A PREROUTING -s 0/0 -d  -p tcp --dport 3388 -j DNAT --to 192.168.122.11:3389
iptables -t nat -A POSTROUTING -d 192.168.122.11 -p tcp --dport 3389 -o eno1 -j SNAT --to 192.168.122.1

这样即可完成转发。只转发 tcp 数据。

如需重启后仍然生效,可编辑 iptables 文件,保存命令即可。

赞(0) 打赏
文章通过 CC 4.0 BY-NC-ND 协议发布,转载请注明出处:云梦 » Linux iptables 内网转发映射方案

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

如果您觉得文章有用,可以支持一下本站

支付宝扫一扫打赏

QQ 扫一扫打赏