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

一 基础命令和了解

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

查看已开放的端口

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防火墙配置文件

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
: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

# 关闭selinux:
# sed -i 's#^SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

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

二 iptables详解

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

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

 

但看iptable的流程:

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

详细全图:

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值