selinux临时关闭 :setenforce 0
selinux永久关闭 : vi /etc/selinux/config #设置完成之后,重启一下系统
SELINUX=disabled(关) enforcing(开)
firewalld #centos7开始使用firewalld防火墙
netfilter #centos7之前使用netfilter防火墙
##一般防火墙关闭
centos 7 上可以关闭firewalld,开启netfilter
centos 7 关闭防火墙firewalld
步骤;
systemctl disable firewalld #关闭开机启动
systemctl stop firewalld #关闭firewalld服务
开启netfilter
步骤;
yum install -y iptables #首先安装netfilter 包
安装完成之后,则会产生一个服务
systemctl enable iptables
systemctl start iptables #开启iptables服务
iptables -nvL #开启默认规则
netfilter5表5链介绍
filter #默认表, filter表用于过滤包,有三个内置的链(INPUT、FORWARD、OUTPUT)
INPUT :数据包进来时,经过的链,进入本机。
FORWARD :不会进入内核。判断目标地址是不是本机。可能会出现转发
OUTPUT :本机的包出去之前,所做的操作 比如:发给某个ip,需要禁止。
nat表用于网络地址转换,可以做端口映射
PREROUTING、OUTPUT、POSTROUTING三个链
ouput 与上面一样。
PREROUTING :进来时更改数据包
POSTROUTING :出去时更改数据包
iptables传输数据包的过程
① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。
数据包流向与netfilter的5个链
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发出
POSTROUTING:发送到网卡接口之前
主机A到主机B,数据是由A开始进行数据封装,由网络设备将封装后的数据传送给主机B。主机B开始解封装,得到数据。
由主机B到主机A,依旧是数据封装和解封装的过程。
数据是一个A-B,B-A是以一应一答的过程进行传输的。A与B之间的通信路径是通过路由表及网络设备上的规则制定的。
其包含OSI七层协议模型、tcp/ip协议及网络设备访问控制列表等相关要点。
原文地址:http://blog.51cto.com/13451715/2309084