七周三次课
相关命令:
yum install net-tools #安装net-tools 软件包
yum install –y iptables-services #安装iptables服务软件包
1、 Linux网络相关:
ifconfig #查看网卡IP
ifup ens33 #启动网卡ens33
ifdown ens33 #关闭网卡ens33
设定虚拟网卡ens33:1
ifdown ens33 && ifup ens33 #关闭网卡然后重新启动
mii-tool ens33 #查看网卡是否连接
ethtool ens33 #查看网卡是否连接
hostnamectl set-hostname linux01 #更改主机名为linux01
DNS配置文件 /etc/resolv.conf
/etc/hosts 文件 #配置ping命令中IP地址与对应域名配置文件
2、 Linux防火墙---netfilter:
centos7之前使用netfilter防火墙
centos7开始使用firewalld防火墙
getenforce #查看selinux开启状态
setenforce 0 #临时关闭selinux防火墙
vi /etc/selinux/config #更改配置文件永久关闭selinux防火墙
systemctl stop firewalld #关闭firewalld服务
systemctl disable firewalled #禁用firewalld防火墙, 禁止开机启动
systemctl enable iptables #启动iptables,设置开机启动netfilter防火墙
systemctl start iptables #开启iptables服务
iptables –nvL #查看iptables默认规则
3、 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(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
规则链:
1.INPUT——进来的数据包应用此规则链中的策略
2.OUTPUT——外出的数据包应用此规则链中的策略
3.FORWARD——转发数据包时应用此规则链中的策略
4.PREROUTING——对数据包作路由选择前应用此链中的规则
(记住!所有的数据包进来的时侯都先由这个链处理)
5.POSTROUTING——对数据包作路由选择后应用此链中的规则
(所有的数据包出来的时侯都先由这个链处理)
iptables传输数据包的过程:
① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出
4、 iptables语法:
iptables –nvL #查看iptables规则
iptables –F #清空规则
service iptables save #保存规则
iptables –t nat // -t #指定表nat, -t选项用来指定规则表
iptables –Z #把计数器清零
iptables –A INPUT –s 192.168.142.1 –p tcp –sport1234 –d 192.168.142.133 –dprot 80 –j DROP
选项说明:
没有加-t,默认为filter表
-A,增加一条规则链INPUT
-s,指定来源ip
-p,指定协议tcp协议或者udp协议
--sport,指定来源端口1234
-d,指定目标ip
--dport,指定目标端口80
-j,指定操作方式,drop(丢弃)/reject(拒绝)
iptables –I INPUT –p tcp –dport 80 –j DROP
iptables –I/-A/-D INPUT –s 1.1.1.1 –j DROP
说明:
-I,插入指定规则链, 优先级比-A更高
-A,增加指定规则链
-D,删除指定规则链
iptables –I INPUT –s 192.168.1.0/24 –i eth0–j ACCEPT
iptables –nvL –line-numbers #将iptables规则排列序号打印出来
iptables –D INPUT 1 #删除INPUT规则表中序号为1号的规则
iptables –P INPUT DROP #指定INPUT规则表中默认规则为DROP(丢弃)