10.11 Linux网络相关
10.12 firewalld和netfilter
10.13 netfilter5表5链介绍
10.14 iptables语法
10.11 Linux网络相关
ifconfig命令
ifconfig:查看网卡信息
用法:ifconfig [-a] [网卡名]
系统默认没安装ifconfig工具1
[root@localhost ~]# yum install -y net-tools

也可以查看指定的网卡
-a:显示所有网卡 包含宕机的网卡
ifup命令 ifdown命令
ifup:启动指定网卡
ifdown:停止指定网卡
| 1 | [root@localhost ~]# ifdown ens33 ##启动ens33网卡 | 
重启指定网卡可以把他们用&&连起来使用1
[root@localhost ~]# ifdown ens33 && ifup ens33  ##先down再up 顺序别搞错
设置虚拟网卡
1.先复制ens33网卡的配置文件为ens33:01
2[root@localhost ~]# cd /etc/sysconfig/network-scripts/  ##先进入网卡的配置文件目录
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:0  ##\把:进行转义
2.编辑ens33\:0 的配置文件1
[root@localhost network-scripts]# vim ifcfg-ens33:0

把NAME DEVICE 改为ens:33 IPADDR 改ip地址就可以了
3.重启网卡1
[root@localhost network-scripts]# ifdown ens33 && ifup ens33

mii-tool命令 ethtool命令
mii-tool/ethtool:查看网卡是否连接
| 1 | [root@localhost /]# mii-tool ens33 | 
| 1 | [root@localhost /]# ethtool ens33 | 

Link detected:yes表示连接成功
hostname主机名
hostname:查看主机名
| 1 | [root@localhost ~]# hostname ##查看系统的主机名 | 
系统的主机名存放在/etc/hostname/目录下1
2[root@localhost ~]# cat /etc/hostname
localhost.localdomain
可以使用hostnamectl set-hostname 主机名来更改主机名1
2
3[root@localhost ~]# hostnamectl set-hostname kun0769
[root@localhost ~]# cat /etc/hostname  
kun0769
重新登录系统就会生效
DNS配置文件
DNS用来解析域名的 也是一个IP地址 就是把域名解析到某个IP地址上 像个警察局,帮忙问路
DNS也有配置文件 在/etc/resolv.conf下 当网卡中指定了DNS就会自动在该文件下编辑好DNS了,手动在这文件下编辑DNS只是临时的 重启系统后还是按照网卡配置文件来解析域名
自定义域名文件
把自定义域名和某个IP地址来解析到一起 可以在/etc/hosts文件下配置1
[root@kun0769 ~]# vim /etc/hosts

左边是IP地址 右边是域名 可以是多个
这里我ping www.g.cn 可以看到ip地址为203.208.43.111
现在想把 www.g.cn 域名自定义解析到1.1.1.1的ip地址上

10.12/10.13 Linux防火墙
SELinux是Linux系统下的一个安全子系统 由于复杂 一般选择关闭 这里只做理解其中SELinux的配置文件在/etc/selinux/config文件下
可以手动把SELinux那行改为其他的状态 
getenforce:查看系统SELinux的状态
| 1 | [root@kun0769 ~]# getenforce | 
setenforce 0:临时把SELinux改为permissive状态 该状态遇到问题会警告 并没关闭
| 1 | [root@kun0769 ~]# setenforce 0 | 
其实在Linux系统中有两个防火墙 一个叫netfilter 在CentOS6以前的版本都是使用它 另一个叫firewalld CentOS7开始默认用它 其他他们都是使用iptable工具来配置防火墙的
netfilter防火墙
由于我们系统是用CentOS7的 默认使用firewalld 所以这里要关闭掉firewalld 再启动netfilter
1.关闭firewalld
systemctl disable firewalld:开机不启动firewalld
systemctl stop firewalld:关闭firewalld服务
| 1 | [root@kun0769 ~]# systemctl disable firewalld | 
2.启动netfilter
系统默认没有安装netfilter1
[root@kun0769 ~]# yum install -y iptables-services  ##安装iptables-services包
systemctl enable iptables:开机启动netfilter
systemctl start iptables:开启netfilter
| 1 | [root@kun0769 ~]# systemctl enable iptables | 
5个表和5个链
表:用于提供特定规则和功能
| 表名 | 作用 | 
|---|---|
| filter | 用于过滤包 | 
| nat | 用于路由转发 | 
| mangle | 用于给数据做标记 用得少 | 
| raw | 用于不跟踪某些数据表 用得少 | 
| security | 用于强制访问控制规则 用得少 | 
链:数据包经过的路径 是规则的集合体
| 链名 | 作用 | 
|---|---|
| INPUT | 进入本机的数据包经过的链 | 
| OUTPUT | 从本机出去的数据包经过的链 | 
| FORWARD | 不是本机转发给其他地方的数据包经过的链 | 
| PREROUTING | 对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理) | 
| POSTROUTING | 对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理) | 

不经过本机的包 PREROUTING--FORWARD--POSTROUTING
经过本机的包 PREROUTING--INPUT--本机--OUTPUT--POSTROUTING
10.14 iptable用法
iptable的配置为文件在/etc/sysconfig/iptables下 里面存放着所有的规则
iptables -nvL:查看内存中iptables规则
| 1 | [root@kun0769 ~]# iptables -nvL | 

iptables -F:清空内存中规则
| 1 | [root@kun0769 ~]# iptables -F | 
service iptables restart:重启iptables服务 可以重新读取配置文件的规则
| 1 | [root@kun0769 ~]# service iptables restart | 
service iptables save:保存规则到配置文件去
| 1 | [root@kun0769 ~]# service iptables save | 
iptables -Z:把计算器清零

-A:添加规则 一般放在最后面-I:插入规则 一般放最前面 优先运行它-D:删除规则 后面跟规则的原参数 可以跟规则的序号-t:指定表 默认指定filter表-s:指定源ip地址-d:指定目的ip地址--sport:指定源端口 必须先指定协议 即-p--dport:指定目的端口 必须先指定协议 即-p-p:指定协议 tcp utp-i:指定网卡名-j:指定行为 ACCEPT允许 DROP丢弃 REJECT拒绝-P:指定链的默认行为
增加一条丢弃从192.168.188.1:123到192.168.188.128:80的包的规则
| 1 | [root@kun0769 ~]# iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP | 
插入一条丢弃到80端口的包的规则
| 1 | [root@kun0769 ~]# iptables -I INPUT -p tcp --dport 80 -j DROP ##-I插入 优先过滤此规则 | 
删除一条丢弃到80端口的包的规则
| 1 | [root@kun0769 ~]# iptables -D INPUT -p tcp --dport 80 -j DROP ##-D删除规则 后面必须和原参数一致 | 
iptables -nvL –line-number:显示规则的序号

删除序号6的规则
| 1 | [root@kun0769 ~]# iptables -D INPUT 6 ##使用序号也可以删除规则 | 
增加一条允许从192.168.1.0网段的进入到ens0de1包规则
| 1 | [root@kun0769 ~]# iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT | 
把INPUT链的默认规则改为DROP
| 1 | [root@kun0769 ~]# iptables -P INPUT DROP | 
