10.11 Linux网络相关
10.12 firewalld和netfilter
10.13 netfilter5表5链介
10.14 iptables语法
一、Linux网络相关
- 查看网卡ip命令:ifconfig
ifconfig命令在centos6中是默认安装的,centos7需要进行安装:
yum install -y net-tools
网卡如果down掉,ifconfig是不显示的,如果要查看加个-a选项
- 关闭/启动网卡
有的时候修改了网卡参数需要关闭重启
ifdown 网卡名 :关闭网卡
ifup 网卡名: 启动网卡
如果是远程操作,网卡关闭就无法连接操作了。这种情况可以使用以下方法:
ifdown 网卡名 && ifup 网卡名
- 设置虚拟网卡
cp /etc/sysconfig/network-scripts/原网卡 虚拟网卡
把现有的网卡复制一份,重新命名,并修改name, device, ip这三个参数。
ifdown 网卡名 && ifup 网卡名 使用这种方法重启即可。
- 查看网卡连接状态
mii-tool 网卡名
- 修改hostname
hostnamectl set-hostname 新主机名
查看hostname名命令:hostname
- DNS配置文件
/etc/resolv.conf 如果临时修改DNS可以修改这个文件,但是重启后会被网卡配置文件的内容所覆盖
- hosts文件
hosts文件windows和linux都有,用来指定域名解析ip。只能做本机使用
二、firewalld和netfilter
1、SELinux
临时关闭SELinux
setenforce 0
永久关闭
编辑配置/etc/selinux/config,SELINUX=enforcing改为disabled ,保存重启系统
查看SELinux状态
getenforce
2、netfilter/firewalld
netfileter是centos6中使用的防火墙,centos7把netfileter升级为了firewalld。
由于目前使用时centos7,想要使用netfileter可以把firewalld先关闭
- 关闭firewalld
systemctl disable firewalld //禁止启动
systemctl stop firewalld //停止防火墙服务
- 开启netfilter
先安装iptables工具包:
yum install -y iptables-services
//启动iptables服务
systemctl enable iptables
systemctl start iptables
- 开启后查看iptable规则
iptables -nvL
三、netfilter5表5链介
netfilter五表:
filter:包过滤,用于防火墙规则。有INPUT、FORWARD、OUTPUT三个链
nat:地址转换,用于网关路由器。有PREROUTING、OUTPUT、POSTROUTING三个链
mangle:用于给数据包打标记,然后根据标记去操作那些表。(不常用)
不常用的表:raw、security
netfilter五链:
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发出
POSTROUTING:发送到网卡接口之前
参考文章:
http://www.cnblogs.com/metoy/p/4320813.html
四、iptables语法
- 查看iptables规则:
iptables -nvL
- 清除iptables规则:
iptables -F
清空后未保存规则配置文件(/etc/sysconfig/iptables),服务重启或系统重启后,防火墙服务会重新加载规则配置文件中的原有规则。
- 保存规则
service iptables save
- 重启
service iptables restart
- 查看nat表
iptables -t nat -nvL
- 计数器清零
iptables -Z
- 添加iptables规则
iptables -A INPUT -s 192.168.1.19 -p tcp --sport 8888 -d 192.168.1.12 --dport 80 -i ens33 -j DROP
解释: 增加一条iptables规则:input链,源IP:192.168.1.19,TCP协议,源端口:8888,目的IP:192.168.1.12,目的端口:80,执行:DROP(丢掉)。
和DROP类似的还有REJECT,不同的是:接受数据包后REJECT会进行查看,然后丢掉,DROP则是直接丢掉。一般DROP比较常用。
- 删除iptables规则
和添加规则类似,把-A改成-D
iptables -D INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -i ens33 -j DROP
也可以根据查询规则号进行删除:
查询
iptables -nvL --line-number
删除
iptables -D INPUT 编号
- 插入一条规则
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
插入一条来源网段为 192.168.1.0/24,网卡为eth0,执行放行操作
- 修改默认规则
一般不要修改默认规则,有可能导致远程终端无法连接
修改:
iptables -P INPUT DROP
恢复:
ptables -P OUTPUT ACCEPT