2018-8-25 直播课堂笔记

不知不觉直播课堂已经过去一个多月了,感受还是很多的。从之前的迷茫到现在在慢慢的找感觉,时间也变的紧张起来,这就是我需要的感觉,加油!

今天我们还是linux日常运维管理,一个非常重要的知识点iptables firewalld。

1.关于SELINUX

1.1安全增强型 Linux(Security­Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。

1.2 如何关闭SELINUX

1.2.1 setenforce 0 #此命令可以临时关闭SELINUX,重启后SELINUX还会自动启动。

1.2.2 永久关闭SELINUX需要修改SELINUX的配置文件/etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

关于SELINUX的运行状态
1:enforcing #开启状态,会强制执行SELINUX的安全策略
2:permissive #提示状态,会打印触发SELINUX安全策略的警告,但是不会执行相应的策
略。
3:disabled #关闭SELINUX,重启后也不会再启动SELINUX。

2. firewalld、iptables和netfilter之间的关系

2.1 在centos6上,我们用的是iptables服务,而在centos7上,我们用的是firewalld服务。同样的,centos6上安装的是iptables包,而centos7上安装的是firewalld包。不管是centos6还是centos7,核心其实都是netfilter,netfilter是linux的一个内核模块,iptables命令是linux内核自带的。centos6上的iptables服务和centos7上的firewalld服务,其实都是用来定义防火墙规则功能的防
火墙管理工具。它们都是将定义好的规则交由内核中的netfilter即网络过滤器来读取,从而真正实现防火墙功能,所以其实在配置规则的思路上是完全一致的。

2.2 iptables

CentOS7默认使用的时Firewalld工具,学些iptables前需要将Firewalld关闭并设置开机不启动。

[root@long0000 ~]# systemctl disable firewalld #先禁止firewalld开机自启动
Removed symlink /etc/systemd/system/multi­user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus­org.fedoraproject.FirewallD1.service.
[root@long0000 ~]# systemctl stop firewalld #再关闭firewalld服务。

CentOS7默认是没有安装iptables服务的。需要安装iptables服务才能使用iptables。

[root@long0000 ~]# yum install ­y iptables­services

设置开机自启动iptables服务,并启动iptables服务

[root@long0000 ~]# systemctl enable iptables && systemctl start iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to
/usr/lib/systemd/system/iptables.service

2.3netfilter5表5链介绍
1.filter表——三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包
内核模块:iptables_filter.
2.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口)
内核模块:iptable_nat

3.Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS
内核模块:iptable_mangle(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
4.Raw表——两个链:OUTPUT、PREROUTING
作用:决定数据包是否被状态跟踪机制处理
内核模块:iptable_raw
5.Security表——三个链:INPUT、OUTPUT和FORWARD
作用:Security表在centos6中并没有,用于强制访问控制(MAC)的网络规则
内核模块:iptable_security
netfilter的5个链
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发出

POSTROUTING:发送到网卡接口之前

2.4iptables语法(重点内容)

2.4.1 iptables一般语法格式:
iptables的命令格式较为复杂,一般的格式如下:
iptables [­t table] 命令 [chain] [rules] [­j target]
格式说明:
table————指定表名,iptables内置包括filter表、nat表、mangle、raw表和security表。
命令—————对链的操作命令
chain————链名
rules————匹配规则
target————动作如何进行
操作命令选项说明
命令 说明
­P或–policy <链名>:定义默认策略
­L或–list <链名>:查看iptables规则列表
­A或—append <链名>:在规则列表的最后增加1条规则
­I或–insert <链名>:在指定的位置插入1条规则
­D或–delete <链名>:从规则列表中删除1条规则
­R或–replace <链名>:替换规则列表中的某条规则
­F或–flush <链名>:删除表中所有规则
­Z或–zero <链名>:将表中数据包计数器和流量计数器归零规则选项说明
­i或–in­interface <网络接口名>:指定数据包从哪个网络接口进入,如ppp0、eth0和eth1等
­o或–out­interface <网络接口名>:指定数据包从哪块网络接口输出,如ppp0、eth0和eth1等
­p或—proto协议类型 < 协议类型>:指定数据包匹配的协议,如TCP、UDP和ICMP等
­s或–source <源地址或子网>:指定数据包匹配的源地址
–sport <源端口号>:指定数据包匹配的源端口号,可以使用“起始端口号:结束端口号”的格式指定一个范围的端口
­d或–destination <目标地址或子网>:指定数据包匹配的目标地址
–dport <目标端口号>:指定数据包匹配的目标端口号,可以使用“起始端口号:结束端口号”的
格式指定一个范围的端口
动作选项说明
ACCEPT:接受数据包
DROP:丢弃数据包
REDIRECT:与DROP基本一样,区别在于它除了阻塞包之外, 还向发送者返回错误信息。
SNAT:源地址转换,即改变数据包的源地址
DNAT:目标地址转换,即改变数据包的目的地址
MASQUERADE:IP伪装,即是常说的NAT技术,
MASQUERADE只能用于ADSL等拨号上网的IP伪装,也就是主机的IP是由ISP分配动态的;
如果主机的IP地址是静态固定的,就要使用SNATLOG日志功能,将符合规则的数据包的相关信息记录在日志中,以便管理员的分析和排错

2.4.2 iptables常用操作示例:
查看iptables规则:
命令:iptables ­nvL
选项说明:
n:数字输出。IP地址和端口会以数字的形式打印
v:详细输出。这个选项让list命令显示接口地址、规则选项等信息
L ­list:显示所选链的所有规则。如果没有选择链,则会显示所有链的所有规则

命令:iptables ­F选项说明:F:清空iptables的规则

命令:service iptables save说明:执行这条命令会把当前itables的所有规则保存到/etc/fi/itables文件中 保存iptables规则

命令:iptables ­Z选项说明:Z选项可以清空所有规则相关的数据包数量 数据包计数器清零

2.5 iptables规则的操作 "增删改查"

2.5.1 iptables 增加规则(注意点:添加规则时,规则的顺序非常重要

a.在指定表的指定链的尾部添加一条规则,-A选项表示在对应链的末尾添加规则,省略-t选项时,表示默认操作filter表中的规则

命令语法:iptables ­t 表名 ­A 链名 匹配条件 ­j 动作
示例:iptables ­-t filter -­A INPUT ­s 192.168.1.146 ­-j DROP

b. 在指定表的指定链的首部添加一条规则,-I选型表示在对应链的开头添加规则

命令语法:iptables ­t 表名 ­I 链名 匹配条件 ­j 动作
示例:iptables ­-t filter ­-I INPUT ­s 192.168.1.146 -­j ACCEPT

c. 在指定表的指定链的指定位置添加一条规则

命令语法:iptables ­t 表名 ­I 链名 规则序号 匹配条件 ­j 动作
示例:iptables ­-t filter -­I INPUT 5 ­s 192.168.1.146 -­j REJECT

2.5.2 iptables 删除规则有两种办法
方法一:根据规则的编号去删除规则
方法二:根据具体的匹配条件与动作删除规则

a. 按照规则序号删除规则,删除指定表的指定链的指定规则,-D选项表示删除对应链中的规则

 表示删除filter表中INPUT链中序号为3的规则

命令语法:iptables ­t 表名 ­D 链名 规则序号
示例:iptables -­t filter -­D INPUT 3

b.删除filter表中INPUT链中源地址为192.168.1.146并且动作为DROP的规则。

命令语法:iptables ­t 表名 ­D 链名 匹配条件 ­j 动作
示例:iptables -­t filter ­-D INPUT ­s 192.168.1.146 -­j DROP

c. 删除指定表中的所有规则,执行时需三思

命令语法:iptables ­t 表名 ­F示例:iptables ­-t filter ­F

2.5.3 修改规则(注意点:如果使用-R选项修改规则中的动作,那么必须指明原规则中的原匹配条件,例如源IP,目标IP等)

a.示修改filter表中INPUT链的第3条规则,将这条规则的动作修改为ACCEPT, -s 192.168.1.146为这条规则中原本的匹配条件,如果省略此匹配条件,修改后的规则中的源地址可能会变为0.0.0.0/0

命令语法:iptables ­t 表名 ­R 链名 规则序号 规则原本的匹配条件 ­j 动作
示例:iptables ­t filter ­R INPUT 3 ­s 192.168.1.146 ­j ACCEPT

b.将filter表中FORWARD链的默认策略修改为ACCEPT

命令语法:iptables ­t 表名 ­P 链名 动作
示例:iptables ­-t filter ­-P FORWARD ACCEPT

3. 两个案例我在预习笔记中已经有详细内容。这里不就再做实验了

 

扩展内容:ICMP协议

ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值