Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法

Linux网络相关

ifconfig查看网卡ip(需要安装net-tools包)ip add也可以查看网卡ip
yum install -y net-tools

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

当你的网卡没有ip的时候是不显示的,但是加上-a就可以查看到。
ifconfig -a

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

关闭指定网卡(如果你正在连接这个网卡使用该命令会断开连接,所以不要用该命令关闭正在使用的网卡)(ens33是网卡名,根据当前服务器网卡名使用)
ifdown ens33

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

启动指定网卡
ifup ens33

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

指定重启正在使用的网卡
ifdown ens33 && ifup ens33

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

设定虚拟网卡方法:
先到网卡目录下
cd /etc/sysconfig/network-scripts/

扫描二维码关注公众号,回复: 870585 查看本文章

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

拷贝网卡(加反斜杠\是为了拖意:,ens33:0为新网卡名)
cp ifcfg-ens33 ifcfg-ens33\:0

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

然后编辑它,更改红色部分,绿色部分可以不要。(这个地方ens33:0不需要加反斜杠拖意)
vi ifcfg-ens33:0

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

保存退出,然后重启网卡
ifdown ens33:0 && ifup ens33:0

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

然后使用ifconfig就可以看到这个虚拟网卡了
ifconfig

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

然后我们可以尝试ping一下。

查看网卡是否连接(ens33为网卡名,如果末尾是link ok就是连接的,no link就是没有连接,有些时候会显示不支持)
mii-tool ens33

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

如果不支持,我们可以使用ethtool ens33(ens33为网卡名)(然后查看最后一行link detected如果是yes就是连接了,no就是没有连接。)
ethtool ens33

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

更改主机名(shuaiyangyang是修改后的主机名称)
hostnamectl set-hostname shuaiyangyang

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

改好后可以用hostname查看,不过改好后需要重新登录才会变,或者使用bash命令进入子shell也可以。
hostname

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

主机名主配置文件位置
cat /etc/hostname

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

DNS配置文件位置(该配置文件只能临时修改,重启网卡后失效)

cat /etc/resolv.conf

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

自定义域名,更改解析地址,ping网址指定ip(只在本机上生效)
cat /etc/hosts

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

比如我们访问 www.baidu.com ,(我们使用ping)访问的到IP是百度的IP,但我们现在想让他访问到192.168.71.134这个IP上来,我们就要修改这个配置文件
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

vim打开这个配置文件
vim /etc/hosts

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

在下面另起一行,进行下列编辑
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

保存退出,我们再ping一下百度就可以看到,它已经自动跳转到192.168.71.134这个IP上来了
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

支持一个IP后更多域名,使用空格分割。如果一个域名设置多个IP,它会以最后一个设置IP生效
Linux网络 firewalld和netfilter netfilter5表5链 iptablip
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

firewalld和netfilter

selinux关闭方法(一般企业都是关闭的)

临时关闭
setenforce 0

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

永久关闭,需要先进入配置文件进行关闭

进入配置文件
vi /etc/selinux/config

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

将红色位置的单词enforcing改成绿色部位的单词disabled
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

保存重启后,我们可以使用getenforce查看一下selinux是否关闭
enforcing是开启状态,permissive是关闭状态。(因为需要重启才可以生效,我就没有重启)
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

netfilter防火墙及firewalld防火墙
netfilter(cenos7以前的叫法)7叫firewalld,虽然他们的机制不太一样,但是他们内部的工具iptables用法是一样的。我们可以用iptables添加一些规则实现开放或关闭端口。

cenos7也是可以使用netfilter防火墙的,我们需要先关闭firewalld然后开启netfilter。

具体方法如下:
先把firewalld停掉,不让它开机启动。
systemctl disable firewalld

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

然后把这个服务关掉。
systemctl stop firewalld

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

然后开启netfilter,在开启之前我们需要安装iptables-services包。
yum install -y iptables-services

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

然后启动netfilter
systemctl start iptables

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

我们可以使用iptables -nvL查看他的规则
iptables -nvL

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

netfilter5表5链介绍

我们可以man一下netfilter,里面有关于5个表的介绍
man iptables

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

filter默认的表,包含3个链。

INPUT链:数据包进来的时候要经过的一个链,数据包进入到本机我们可以做一些操作,比如说我们把访问80端口的数据包检查一下它的源ip是什么,发现可疑ip我们要把它禁掉。

FORWARD链:数据包到了我们的机器,但是不会进入到内核里,因为数据包是要给另外一台机器处理的,所以它要判断一下目标地址是不是本机,如果不是本机那么就要经过这个链,经过这个链我们也要做一些操作,比如说把目标地址做一个更改,或者做一个转发。

OUTPUT链:是在本机产生的一些包出去之前做的操作。比如这个包是要发给某一个ip的,我可以禁掉这个地址,不让包过去。

nat表,(用在共享上网,路由器就是用nat实现的,也可以做端口映射)也有3个链。

PREROUTING链:用来更改数据包,在数据包进来的一刻我们要更改

OUTPUT和上面的OUTPUT一样。

POSTROUTING链:也是要更改数据包,数据包出去的那一个我们要更改

剩下的三个表几乎用不到

参考图(红色线路是不经过本机的线路,蓝色是经过本机的线路)

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

iptables语法

查看规则
iptables -nvL

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

重启规则命令
service iptables restart

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

规则保存在这个文件里
cat /etc/sysconfig/iptables

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

清空规则(但是文件里还是没有清除,想要把当前规则保存到文件里需要运行 service iptables save 保存规则)
iptables -F

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

重启这个文件或者重启系统会把文件里的规则同步到 iptables -nvL 查看的当前规则里。

iptables -nvL 默认查看的表是 filter 表,其实就是这条命令:iptables -t filter -nvL

我们还可以查看nat表
iptables -t filter -nvL

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

把计数器清零
iptables -Z

Linux网络 firewalld和netfilter netfilter5表5链 iptablip
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

添加规则

如把来源于某个ip的,访问我们某个端口的,我们可以给它做一个操作,(下图没有加-t filter那么默认就是filter表)
iptables -A INPUT -s 192.168.71.1 -p tcp --sport 1234 -d 192.168.71.131 --dport 80 -j DROP

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

-A增加一条规则后面指定链,

-s指定来源ip

-p指定协议

--sport来源的端口

-d目标的ip

--dport目标的端口

-j操作(上图DROP意识是扔掉,还有一个REJECT是拒绝的意思,两个效果是一样的,区别
在于第一个不看,第二个会看一下)

添加好以后我们使用 iptables -nvL 看一下。可以看到我们添加的规则如下图,出现在规则里。

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

插入规则
还有一种-I的用法,意思是插入规则(不写来源ip,不写目标ip,只写目标端口也是可以的,但是必须指定协议)
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

-I是插入的意思-A是增加的意思(插入会把规则插入到最前面,而增加是增加在最后面)

排在前面和排在后面的区别是:如果在前面,那么在过滤的时候优先过滤,如果一个包同时满足两个规则,系统会匹配第一条规则。

我们还可以指定网卡(下图中ens33:0是网卡)
iptables -I INPUT -s 192.168.1.0/24 -i ens33:0 -j ACCEPT

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

删除规则
iptables -D INPUT -p tcp --dport 80 -j DROP

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

如果不记得当时添加规则的写法,就使用如下方法删除:

列出规则序列号
iptables -nvL -- line-number

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

删除指定序列号的规则,(这里的6改成你要删除的规则序列号)
iptables -D INPUT 6

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

修改默认规则

-P修改默认规则(不推荐更改)
iptables -P OUTPUT DROP

Linux网络 firewalld和netfilter netfilter5表5链 iptablip

改的是如下位置
Linux网络 firewalld和netfilter netfilter5表5链 iptablip

猜你喜欢

转载自blog.csdn.net/qq_39225153/article/details/80247622
今日推荐