iptables 端口转发

应用实例:

① docker 一个应用容器映射出的8900端口,访问:http://192.168.1.245:8900,现想直接通过http://192.168.1.245访问,只需要执行下面命令即可。

iptables -t nat -A PREROUTING -p tcp --dport 8900 -j REDIRECT --to-port 80 
# 删除规则使用 ‘-D’

保存修改

service iptables save
# service iptables restart 

② 通过访问公网IP的63306端口来实现到内网MYSQL服务器的3306端口的访问

公网服务器:eth0:公网IP eth1:内网IP - 192.168.1.1
mysql服务器:eth1:内网IP - 192.168.1.2

在公网服务器上,配置脚本:

iptables -t nat -A PREROUTING -p tcp --dport 63306 -j DNAT --to-destination 192.168.1.2:3306
iptables -t nat -A POSTROUTING -d 192.168.1.2 -p tcp --dport 3306 -j SNAT --to 192.168.1.1

允许服务器的IP转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward
使用方法:mysql -h 公网IP -p 63306 -uroot -p

③ 内网服务器无外网环境管理,现通过外网到内网的端口进行转发。如通过访问外网8822端口转发到内网机器22端口。

iptables -t nat -A PREROUTING -d "对外公网ip" -p tcp --dport "对外端口" -j DNAT --to "内部实际提供服务的ip":"实际提供服务的端口"
iptables -t nat -A POSTROUTING -d "内部实际提供服务的ip"-p tcp --dport "实际提供服务的端口" -j SNAT --to-source "运行iptables机器的内网ip"

参考链接:https://www.cnblogs.com/qiangyuzhou/p/10657494.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值