CentOS 7防火墙配置


22

在CentOS 6中,我可以setup从命令行键入内容,然后会看到一组工具,其中一个是Firewall configuration。我仍然可以在CentOS 7中做到这一点,除了列表不再Firewall configuration作为选项。

有人知道我现在在哪里可以找到它,为什么它被移走了吗?

这是我过去用来允许通过HTTP和传入流量的地方HTTPS。如果有更好的方法,我很乐意接受建议。谢谢。


3
您阅读了文档吗? 使用防火墙
yoonix

Answers:


30

自RedHat / CentOS 7发行以来,以前的防火墙系统已被firewalld取代。

在撰写本文时,还没有类似于system-config-firewall的类似于curses的控制台界面。如果您不介意使用GUI,则可以改用Firewall-config。

如果您需要控制台用的东西,则必须使用firewall-cmd

有关更多信息和完整的文档firewalld4.5。使用防火墙

希望对您有所帮助!


7
如果你想回去使用iptables,请参阅本:serverfault.com/questions/470287/...
fuero

如果您只是想禁用防火墙,请使用:sudo service firewalld stop; sudo chkconfig firewalld off
DuffJ 2014年

3
@DuffJ在RHEL 7上systemctl stop firewalld.service以及systemctl disable firewalld.service

哦,是的!RHEL和CentOS不同的地方。谢谢。
DuffJ

2
@DuffJ RHEL 7和CentOS 7在这方面没有区别。
STE

18

以下是我遇到的一些带有描述的命令,它们对您有所帮助

firewall-cmd --state
  view status of firewalld service (systemctl status firewalld)
firewall-cmd --zone=public --list-all
  gets all info for the “public” zone
firewall-cmd --list-all-zones
  shows all info for all zones
firewall-cmd --zone=public --add-port=80/tcp --permanent
  adds port 80 to public zone
firewall-cmd --zone=public --add-service=http --permanent
  adds service http to public zone
firewall-cmd --reload
  run this after making changes
firewall-cmd --zone=public --remove-port=80/tcp --permanent
  to remove port 80 from public zone
firewall-cmd --get-default-zone
  shows default zone for firewall
firewall-cmd --get-active-zones
  zones where network interfaces or sources are assigned

1

以下是禁用firewalld的更快方法。

 systemctl disable firewalld

这将删除.service,因此您应该获得类似于

rm '/etc/systemd/system/basic.target.wants/firewalld.service'
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'

但是,对接受的答案并没有增加太多。
Deer Hunter

您还需要停止Firewalld或重新启动::)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.