firewalld-cmd nat端口转发 教程

我的服务器是Centos7,由于Centos7现在默认用的防火墙就是firewalld,在Centos6及以下版本用的防火墙就是iptables。

 

下面给大家说说Centos7 firewalld-cmd nat端口转发 具体的操作步骤,如下:

 

1、准备工作

# 开启 NAT 转发
firewall-cmd --permanent --zone=public --add-masquerade

# 开放 DNS 使用的 80 端口,tcp
# 必须,否则其它机器无法进行域名解析
firewall-cmd --zone=public --add-port=80/tcp --permanent

# 检查是否允许 NAT 转发
firewall-cmd --query-masquerade
# 禁止防火墙 NAT 转发
firewall-cmd --remove-masquerade

 

2、开始:nat端口转发

端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目标如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认使用来源端口。

# 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

# 将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1 --permanent

# 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 --permanent

 

注意:

nat端口转发完以后,一定要用“firewall-cmd --reload”重新加载配置才会真正的生效。

--permanent”代表永久的意思,重启后同样会生效。

 

如果配置完以上规则后仍不生效,检查防火墙是否开启80端口,如果80端口已开启,仍无法转发,可能是由于内核参数文件sysctl.conf未配置ip转发功能,具体配置如下:

vi /etc/sysctl.conf

在文本内容中添加:net.ipv4.ip_forward = 1

保存文件后,输入命令“sysctl -p”生效!

 

firewalld-cmd nat端口转发 拓展知识

还有,你在做“firewalld-cmd nat端口转发”的时候,可能还会用到其它的命令,例如:

#查看状态:
firewall-cmd --state

#删除开放的80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent

#删除nat端口转发(本机80转到192.168.0.1:8080)
firewall-cmd --remove-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 --permanent

 

#列出所有的规则
firewall-cmd --list-all

firewall-cmd --list-all

    A+
发布日期:2020年02月04日 10:50:04  所属分类:Linux
最后更新时间:2020-02-12 11:44:40
标签:
付杰
  • ¥ 298.0元
  • 市场价:498.0元
  • ¥ 1999.0元
  • 市场价:2999.0元
  • ¥ 398.0元
  • 市场价:498.0元
  • ¥ 49.0元
  • 市场价:199.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: