Centos7下通过firewall-cmd设置端口转发

前言

局域网的设备由于安全原因,不能直接进行互联网连接。但又有第三方的互联网服务需要使用,为此只能通过一台前置机,将本地请求转发到外网服务器上。这种端口转发对局域网内的设备来说是透明的,既不影响设备网络环境,也能正常访问外部服务。Centos7自带的防火墙,firewall-cmd命令就可以直接设置端口转发。

伪装IP

为开启端口转发,需要开启伪装IP这个功能。

$ firewall-cmd --query-masquerade # 检查是否允许伪装IP
$ firewall-cmd --add-masquerade # 允许防火墙伪装IP
# 如果不需要这个功能,可以执行以下命令关闭
$ firewall-cmd --remove-masquerade# 禁止防火墙伪装IP

开放端口

开放要监听的端口(TCP),如18080:

firewall-cmd --permanent --add-port=18080/tcp

--permanent选项表明该规则永久生效。

设置端口转发

如将18080端口的流量转发至192.168.1.100的80端口:

firewall-cmd --permanent --add-forward-port=port=18080:proto=tcp:toaddr=192.168.1.100:toport=80

这里可以根据需要,将本机的端口转发到外网某个IP和端口,实现局域网访问外网服务。端口转发还可以做流量分发,通过防火墙将不同端口的流量转发至不同机器。
注意:这里不支持转发到域名,toaddr仅支持目的地为IP地址!如果要转发到域名,可通过nginx实现。

配置生效

$ firewall-cmd --reload // 重新加载防火墙,使端口转发生效

查看配置

$ firewall-cmd --list-all

配置成功后,就可以通过访问前置机的端口18080,间接访问到192.168.1.100这台主机在80端口上的服务了!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值