共计 704 个字符,预计需要花费 2 分钟才能阅读完成。
以前一直用的 CentOS7,感觉 iptables 太复杂用着不方便就一直用的 firewalld,后来换了 Debian 系统,习惯性的依然安装 firewalld 使用。
firewalld 开启包转发也很简单,一条命令即可
firewall-cmd –permanent –add-masquerade
使用 firewall-cmd –list-all 可以看到当前的设置
public (active)
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client dns http https ssh
ports: 1080/tcp
protocols:
forward: yes
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
看上去一切都很好,开放端口确实是都生效了,按我的理解开启的包转发也应该是生效的,但是组网后就是访问不了局域网,折腾放弃好几次,今天终于发现问题在哪了。
interfaces:
问题就是这一条,没有指定网卡名称……,放行端口可以不指定网卡,但是开启包转发必须指定网卡。
使用下面的命令把 ens3 网卡加入到 public 的 interface 里就能正常转发了,这时候只要组网工具的路由配置正确就能正常访问网络了。
firewall-cmd –zone=public –change-interface=ens3 –permanent
当然修改以后需要执行一下 firewall-cmd –reload 来让修改生效