Linux网络/firewalld和netfilter/netfilter/iptables语法

linux网络相关

查看网卡网络信息

ifconfig 命令查看网卡网络信息,好比ip、网关、子网掩码等,可是安装centos7的版本或者某些未知缘由,此命令提示找不到,咱们可使用Yum安装:linux

yum install -y net-tools

使用 ifconfig 命令查看vim

ifconfig

选项:centos

  • a : 显示包含由于神奇缘由挂掉的网卡
ifconfig -a

或者某些时候咱们也可使用 ** ip add ** 命令来查看信息,实际比较仍是以为ifconfig命令显示的清楚一点。安全

ip add

重启某个指定网卡(ifdown表示关闭某网卡,ifup表示启用某网卡)网络

ifdown ens33 ; ifup ens33 #第1种方式
ifdown ens33 && ifup ensss #第2种方式

因为使用远程登陆,因此不建议单独使用** ifdown **命令,至于为何要重启某网卡而不是重启服务呢,由于假如你只修改了此网卡的部分信息,不想直接重启服务影响其余网卡的使用,因此能够 **ifdown **和 **ifup **结合使用表示重启;tcp

设置虚拟网卡

1.进入网卡配置文件目录工具

[root@yolks1 ~]# cd /etc/sysconfig/network-scripts/

2拷贝文件当前ens33网卡配置文件测试

[root@yolks1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1 #前面的右斜杠表示脱义冒号

3.编辑新复制的网卡配置文件:ifcfg-ens33:1centos7

vim ifcfg-ens33:1

修改如下标注的地方,删除掉DNS和GATEWAY所在的行rest

4.重启 ** dns33 ** 网卡

[root@yolks1 network-scripts]# ifdown ens33 && ifup ens33
成功断开设备 'ens33'。
链接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)

5.** ifconfig ** 查看新配置的网卡信息

6.测试本地能不能ping通虚拟网卡

查看网卡是否链接

1.mii-tool 命令以下:

[root@yolks1 network-scripts]# mii-tool ens33:1
ens33:1: negotiated 1000baseT-FD flow-control, link ok

判断输出的是不是** link ok** 若是是,则说明网络链接畅通无误;若是输出的是** no link **则表示网卡没链接;

2.若是上面的 mii-tool 执行提示找不到,也可使用** ethtool 网卡名称 **来查看结果的最后一行 **Link detected **是不是 yes 或者是 ** no ** 来表示网卡链接是否正常

设置主机名称

hostnamectl set-hostname new-hostname

修改以后须要从新链接便可看到变化;

修改DNS地址

DNS配置文件路径 : /etc/resolv.conf

[root@yolks-001 ~]# cat /etc/resolv.conf #查看当前dns配置
# Generated by NetworkManager
nameserver 119.29.29.29
[root@yolks-001 ~]# vi !$
vi /etc/resolv.conf #编辑并添加新的一行nameserver 8.8.8.8
[root@yolks-001 ~]# cat /etc/resolv.conf #再次查看新的dns配置
# Generated by NetworkManager
nameserver 119.29.29.29
nameserver 8.8.8.8

可是要知道编辑上面此文件保存dns的话是临时的,永久保存的话直接修改 **/etc/sysconfig/network-scripts/ifcfg-ens33 **添加DNS纪录便可;

修改host改变本地解析

修改 /etc/hosts 文件,添加一行新的解析

测试ping,显示为修改的配置ip,而且只有本机才会生效

hosts文件格式很简单,注意如下几点;

  • 一个ip后面能够跟多个域名,能够是几十个甚至上百个;
  • 每一行只能有一个ip,也就是说一个域名不能对应多个ip;
  • 若是有多行中出现相同的域名(对应的ip不同),就会按最前面出现的记录来解析

firewalld和netfilter

1.SELinux是linux系统特有的安全机制。由于这种机制的限制太多,配置也繁琐,因此几乎没有人真正的应用它,安装完系统咱们通常都把SELinux关闭,以避免引发没必要要的麻烦。

临时关闭:

setenforce 0

永久关闭:

vim /etc/selinux/config #编辑此文件

修改 SELINUX=disabled,重启机器便可

查看 SELINUX 状态:

[root@yolks-001 ~]# getenforce
Disabled

2.关系图以下:

查看centos版本

[root@yolks-001 ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

在centos7上关闭firewalld开启netfilter

1.关闭firewalld

[root@yolks-001 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

2.中止firewalld

[root@yolks-001 ~]# systemctl stop firewalld

3.yum安装iptables工具

yum install -y iptables-services

4.让iptables服务开机启动

[root@yolks-001 ~]# systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.

5.开启iptables服务

[root@yolks-001 ~]# systemctl start iptables

6.使用iptables查看默认规则

iptables -nvL

netfilter5表5链介绍

netfilter的5个表

  • filter:表主要用于过滤包,是系统预设的表,该表内建3个链:INPUTOUTPUT以及FORWARDINPUT链做用于进入本机的包,OUTPUT链做用于本机送出的包,FORWARD链做用于那些跟本机无关的包。
  • nat:表主要用于网络地址转换,一样也有3个链,PREROUTING链的做用是在包刚刚到达防火墙时改变它的目的地址,OUTPUT链的做用是改变本地产生的包的目的地址,POSTROUTING链的做用是在包即将离开防火墙时改变其源地址。
  • mangle:表主要用于给数据包作标记,而后根据标记去操做相应的包。
  • raw:表能够实现不追踪数据包作标记,默认系统的数据包都会被追踪,但追踪势必消耗必定的资源,因此能够用raw表来指定某些端口的包不被追踪。
  • security:表在Centos6里是没有的,它用于强制访问控制(MAC)的网络规则。

netfilter的5个链

  • PREROUTING:数据包进入路由表以前
  • INPUT:经过路由表后目的地为本机
  • FORWARD:经过路由表后,目的地不为本机
  • OUTPUT:由本机产生,向外转发
  • POSTROUTING:发送到网卡接口以前

参考图

图片来源于Askz的博客

图片来源于Askz的博客

iptables语法

1.查看iptables默认规则配置文件:

cat /etc/sysconfig/iptables

2.查看iptables默认规则:

iptables -nvL

3.保存iptables规则(当前规则,保存到配置文件):

service iptables save

4.清空iptables规则:

iptables -F

5.重启iptables规则

service iptables restart

6.查看指定表的规则

iptables -t nat -nvL

7.清空表的计数器

iptables -Z

8.若是不加-t选项则默认的表为fliter表,经常使用的选项以下:

  • -A/-D:表示增长/删除一条规则
  • -I:表示插入一条规则其实效果跟-A同样
  • -p:表示指定协议,能够是tcp、udp或者icmp
  • --dport:跟-p一块儿使用,表示指定目标端口
  • --sport:跟=p一块儿使用,表示指定源端口
  • --line-number:显示规则的行号
  • -s:表示指定源IP(能够是一个IP段)
  • -d:表示指定目的IP(能够是一个IP段)
  • -j:后面跟动做,其中ACCEPT表示容许包,DROP表示丢掉包,REJECT表示拒绝包
  • -i:表示指定网卡

拓展

selinux教程

selinux pdf电子书

相关文章
相关标签/搜索