一:linux网络相关

ifconfig命令,如果没有,用下列命令安装一下
yum install -y net-tools
如果想禁用一个网卡:
ifdown ens33
启用网卡
ifup ens33
重启网卡
ifdown ens33 && ifup ens33
设定虚拟网卡ens33:0
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33\:0
vi !$
修改NAME和 DEVICE为ens33:0
修改ipaddr
查看网卡连接状态
mii-tool ens33
ethtool ens33
更改主机名
hostnamectl set-hostname leewill
即时生效需要重新登陆
DNS配置文件
cat /etc/resolv.conf
网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语
域名配置文件
cat /etc/hosts
同一个域名配置了不同的ip,以最后的为准

二:firewalld和netfilter

关闭selinux的办法
临时:setenforce 0
永久:vim /etc/selinux/config
将selinux=enforcing改为selinux=disabled
保存,重启即可
获取selinux状态:getenforce

firewalld和netfilter都是用iptables命令来实现防火墙功能
centos7用firewalld,centos6用netfilter
在centos7上关闭firewalld,并开启netfilter
systemctl disable firewalld
systemctl stop firewalld
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables

三:netfilter5表5链介绍

man iptables
网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语
● filter表
主要用来过滤包,是系统预设的表。内建三个表链,INPUT、OUTPUT、FORWARD。
INPUT为进入本机的包,OUTPUT为本机送出的包,FORWARD作用于跟本机无关的包。
● nat表
主要用处是网络地址转换,也有三个链。PREROUTING作用是包在刚刚到达防火墙时改变他的目的地址。OUTPUT改变本地产生的包的目的地址。POSTROUTING在包就要离开防火墙之前改变其源地址。
● mangle表
主要用于给数据包打标记,然后根据标记去操作包。
● raw表
可以实现不追踪某些数据包
● security表
centos6中没有,用于强制访问控制mac的网络规则

四:iptables语法

iptables基本语法:

  1. 查看规则以及清除规则
    iptables -t nat -nvL
    网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语
    -t 后面跟表名,不加则打印filter表的信息。
    -nvL 即查看该表的规则
    -n 表示不针对IP反解析主机名
    -L 表示列出的意思
    -v 列出的信息更加详细
    清除filter表所有规则:iptables -F
    把包以及流量计数器置零:iptables -Z
  2. 增加、删除一条规则
    增加:iptables -A INPUT -s 192.168.1.1 -p tcp --sport 1234 -d 192.168.1.2 --dport 80 -j DROP
    -A 增加一条规则
    -I 插入一条规则
    -D 删除一条规则
    INPUT 即链名称
    -s 后跟源IP(可以是一个IP段)
    -p 协议(tcp,udp,icmp)
    --sport/--dport 后跟源端口/目标端口(必须跟-p一起使用,否则会出错)
    -d 后跟目的IP(可以是一个IP段)
    -j 后跟动作(DROP把包丢掉,REJECT包拒绝,ACCEPT允许包)
    -i 指定网卡
    -Z 可以把计数器清零
    -P 预设策略,后跟链名,策略内容为DROP或者ACCEPT,默认是ACCEPT。(远程禁用!)
    插入规则:iptables -I INPUT -s 10.10.10.1 -j DROP
    把来自10.10.10.1的所有数据包丢掉
    删除:iptables -D INPUT -s 10.10.10.1 -j DROP
    删除刚刚插入的规则(删除规则时,必须跟插入的规则一致,除了-I和-D不同,其他完全一样)

-A和-I的区别:
增加的规则排在规则列表的最后,而插入的规则排在规则列表的最前面,优先生效。

当规则过多时,如何简单有效的删除一条规则。
查看规则的序列:iptables -nvL --line-numbers
然后再删除:iptables -D INPUT 序列号

备份和恢复规则:
拷贝一下/etc/sysconfig/iptables文件。
或者iptables-save - > 1.ipt
iptables-restore < 1.ipt

修改完规则后,只是临时生效,想要永久生效,必须进行保存。
service iptables save