当前位置:   article > 正文

centos7 防火墙 firewalld 和 iptables 详细解释和相关命令_centos iptables firewalld

centos iptables firewalld

一 基础命令和了解

-----------开启防火墙端口

查看已开放的端口

firewall-cmd --list-ports

开放端口(开放后需要要重启防火墙才生效)

firewall-cmd --zone=public --add-port=3338/tcp --permanent

关闭端口(关闭后需要要重启防火墙才生效)

firewall-cmd --zone=public --remove-port=3338/tcp --permanent

重启防火墙

firewall-cmd --reload

---------------Centos7.0 中的中iptables、firewall和SELINUX

今天在学习UDP组播通信是,两台主机之间不能顺利通信。

A机 - Ubuntu12.04,B机 - Centos7.0,相互之间可以ping通。

A作为发送端,B作为接收端,B接收不到数据。

B作为发送端,A作为接收端,A可以接收数据。

原因:B机的防火墙的问题,关闭了防火墙之后,通信正常。

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

firewall

firewall能够允许哪些服务可用,那些端口可用.... 属于更高一层的防火墙。
firewall的底层是使用iptables进行数据过滤,建立在iptables之上。

firewall是动态防火墙,使用了D-BUS方式,修改配置不会破坏已有的数据链接。

关闭firewall

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

iptables

iptables用于过滤数据包,属于网络层防火墙.

在设置iptables后需要重启iptables,会重新加载防火墙模块,而模块的装载将会破坏状态防火墙和确立的连接。会破坏已经对外提供数据链接的程序。可能需要重启程序。

iptables防火墙

yum install iptables-services #安装iptables
vi /etc/sysconfig/iptables #编辑iptables防火墙配置文件

  1. # Firewall configuration written by system-config-firewall
  2. # Manual customization of this file is not recommended.
  3. *filter
  4. :INPUT ACCEPT [0:0]
  5. :FORWARD ACCEPT [0:0]
  6. :OUTPUT ACCEPT [0:0]
  7. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  8. -A INPUT -p icmp -j ACCEPT
  9. -A INPUT -i lo -j ACCEPT
  10. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  11. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  12. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
  13. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  14. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  15. COMMIT
  16. :wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。它不是用来防火墙设置的。但它对Linux系统的安全很有用。Linux内核(Kernel)从2.6就有了SELinux。

SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNⅨ权限更好的访问控制。

关闭SELINUX

  1. # 关闭selinux:
  2. # sed -i 's#^SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
  3. sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
  4. sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config
  5. setenforce 0

原文链接 【原创】Centos7.0 中的中iptables、firewall和SELINUX_GENGLUT的博客-CSDN博客

二 iptables详解

想详细了解的,阅读原文那,链接:iptable的概念与底层原理(详解)

前两天面试被问到linux网络协议栈和iptables,一脸通红,复习一下,为了跳出“运维工具人”的循环,先上图:

 

但看iptable的流程:

用户层  --->  调用iptables  --->  ip_tables内核模块  --->  Netfilter(系统安全框架) --->  过滤请求

详细全图:

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号