8-25上课补充

8-25上课补充内容

1,SELINUX

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

临时关闭SELINUX

setenforce 0

查看关闭状态getenforce

配置文件 /etc/selinux/config

改成disabled之后已经强制关闭,

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

常用的命令

systemctl disable firewalld   //禁止firewalld开机自启动

systemctl stop firewalld     //关闭firewalld服务

yum install ­y iptables­services  安装iptables服务

启动iptables服务

systemctl enable iptables && systemctl start iptables

 

netfilter5表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:发送到网卡接口之前

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 <链名>:

Iptables的参数说明

­i或–in­interface <网络接口名>:指定数据包从哪个网络接口进入,如ppp0、eth0和eth1等

­-o或–out­interface <网络接口名>:指定数据包从哪块网络接口输出,如ppp0、eth0和eth1等

-­p或-proto协议类型 < 协议类型>:指定数据包匹配的协议,如TCP、UDP和ICMP等 ­

-s或–source <源地址或子网>:指定数据包匹配的源地址 –sport <源端口号>:指定数据包匹配的源端口号,可以使用“起始端口号:结束端口号”的格式
指定一个范围的端口 ­d或–destination <目标地址或子网>:指定数据包匹配的目标地址 –dport <目标端口号>:指定数据包匹配的目标端口号,可以使用“起始端口号:结束端口号”的

 

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选项可以清空所有规则相关的数据包数量 数据包计数器清零

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

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

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

systemctl restart iptables #重启iptables服务

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

[root@localhost ~]# iptables –Z  清零

[root@localhost ~]# iptables -nvL

Iptables的增加规则:

例如丢弃来自172.19.11.18的icmp协议数据包。可以使172.19.11.18这个台主机ping不通服务器。

iptables -A INPUT -i ens33 ­s 172.19.11.18 ­p icmp ­j DROP

删除有两种方法,一是直接删掉编号,二是直接删除增加的条

删除刚才添加的那一条规则

iptables -A INPUT -s 172.19.11.18 -p icmp -j DROP

 

这里也可以用-I指定网口,不在继续。

 

这时候从电脑上ping则ping不通了

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

查看规则编号的选项是 ­­line­numbers

iptables ­nvL INPUT ­­line­numbers

例如只允许到服务器的22tcp端口访问

iptables ­-A INPUT ­-p tcp ­­dport 22 -­j ACCEPT

案例在之前已经处理做过,不在格外说明,贴上案例操作:

案例说明:

iptables nat表应用

配置了之后,多出了一个ens37

B设备配置成192.168.101.33,并且配置成lan区段

这时候看AB两个设备是互通的

说明,网络上网使用的是172的网段,B地址为192.168.101.33

接下来

(route add default gw 192.168.100.2 #设置一个默认网关
echo "nameserver 223.5.5.5" > /etc/resolv.conf #添加一个临时的DNS服务器)

笔者这里配置了完整的ip这一步省略。

A机器上设置路由转发

cat /proc/sys/net/ipv4/ip_forward

 A上执行iptables

iptables -t nat -A POSTROUTING -s 192.168.101.2/24 -o ens34 -j MASQUERADE

再从B上面ping www.baidu.com 发现已经可以ping通了,说明策略有效

案例需求2:端口转发

目的让PC能远程登录test01

添加规则1,将访问172.19.0.18:22222端口的数据包转发给192.168.101.33:22端口

iptables -t nat -A PREROUTING -d 172.19.0.18 -p tcp --dport 22222 -j DNAT --to 192.168.101.33:22

 

这样子给172.19.0.18:2222的包送到了 192.168.101.33:22上

下面这条可以不用

如需使用可以将B的包发出来的地址做一下nat映射

添加规则2,将来源于192.168.100.100的数据包的源地址转换为10.1.1.25
[root@long0000 ~]# iptables ­t nat ­A POSTROUTING ­s 192.168.100.1 ­j SNAT ­­to 10.1.1.25

 

扩展内容;icmp协议,也就是常说的ping协议,可以百度搜索到对应的文件,常用来检测网络是否畅通。

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

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_41654660/article/details/82146472
今日推荐