七周第三次课 2017.11.29 Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法
10.11 Linux网络相关
ifconfig查看网卡ip(需要安装net-tools包)ip add也可以查看网卡ip
当你的网卡没有ip的时候是不显示的,但是加上-a就可以查看到。
关闭网卡(如果你正在连接这个网卡使用该命令会断开连接,所以不要用该命令关闭正在使用的网卡)
启动网卡
重启正在使用的网卡使用该条命令
设定虚拟网卡方法:
到网卡目录下
拷贝网卡
然后编辑它,更改红色部分,绿色部分可以不要。
然后重启网卡
然后使用ifconfig就可以看到这个虚拟网卡了
然后我们可以尝试ping一下。
查看网卡是否连接
如果末尾是link ok就是连接的,no link就是没有连接,有些时候会显示不支持,
那么我们可以使用
然后查看最后一行如果是yes就是连接了,no就是没有连接。
更改主机名
改好后可以用查看,不过改好后前缀需要重新登录才会变,或者使用bash命令进入子shell课也可以。
主机名配置文件在目录
DNS配置文件在目录(该配置文件只能临时更改)
自定义域名,更改解析地址,ping网址指定ip(只在本机上生效)
更改方法:vi打开后如下格式更改
一个ip后面可以写多个域名
10.12 firewalld和netfilter
selinux关闭方法(一般企业都是关闭的)
永久关闭:将红色位置的单词改成绿色部位的单词
我们可以使用查看一下selinux是否关闭,enforcing是开启状态,permissive是关闭状态。
netfilter防火墙及firewalld防火墙
netfilter(cenos7以前的叫法)7叫firewalld,虽然他们的机制不太一样,但是他们内部的工具iptables用法是一样的。我们可以用iptables添加一些规则实现开放或关闭端口。
cenos7也是可以使用netfilter防火墙的,我们需要先关闭firewalld然后开启netfilter。
具体方法如下:
先把它停掉,不让它开机启动。
然后把这个服务关掉。
然后开启netfilter,在开启之前我们需要安装如下包。
然后启动netfilter
我们可以使用查看它的规则。
10.13 netfilter5表5链介绍
我们可以man一下netfilter,里面有关于5个表的介绍
filter默认的表,包含3个链。
INPUT链:数据包进来的时候要经过的一个链,数据包进入到本机我们可以做一些操作,比如说我们把访问80端口的数据包检查一下它的源ip是什么,发现可疑ip我们要把它禁掉。
FORWARD链:数据包到了我们的机器,但是不会进入到内核里,因为数据包是要给另外一台机器处理的,所以它要判断一下目标地址是不是本机,如果不是本机那么就要经过这个链,经过这个链我们也要做一些操作,比如说把目标地址做一个更改,或者做一个转发。
OUTPUT链:是在本机产生的一些包出去之前做的操作。比如这个包是要发给某一个ip的,我可以禁掉这个地址,不让包过去。
nat表,(用在共享上网,路由器就是用nat实现的,也可以做端口映射)也有3个链。
PREROUTING链:用来更改数据包,在数据包进来的一刻我们要更改
OUTPUT和上面的OUTPUT一样。
POSTROUTING链:也是要更改数据包,数据包出去的那一个我们要更改
剩下的三个表几乎用不到
参考图(红色线路是不经过本机的线路,蓝色是经过本机的线路)
10.14 iptables语法
查看规则
重启规则命令
规则保存在这个文件里
清空规则(但是文件里还是没有清除,想要把当前规则保存到文件里需要运行
保存规则)
重启这个文件或者重启系统会把文件里的规则同步到
查看的当前规则里。
默认查看的表是filter表,其实就是这条命令:
我们还可以查看nat表
可以把计数器清零
添加规则
如把来源于某个ip的,访问我们某个端口的,我们可以给它做一个操作,(下图没有加-t filter那么默认就是filter表)
-A增加一条规则后面指定链,
-s指定来源ip
-p指定协议
--sport来源的端口
-d目标的ip
--dport目标的端口
-j操作(上图DROP意识是扔掉,还有一个REJECT是拒绝的意思,两个效果是一样的,区别在于第一个不看,第二个会看一下)
添加好以后我们使用看一下。可以看到我们添加的规则如下图,出现在规则里。
插入规则
还有一种-I的用法,意思是插入规则(不写来源ip,不写目标ip,只写目标端口也是可以的,但是必须指定协议)
-I是插入的意思-A是增加的意思(插入会把规则插入到最前面,而增加是增加在最后面)
排在前面和排在后面的区别是:如果在前面,那么在过滤的时候优先过滤,如果一个包同时满足两个规则,系统会匹配第一条规则。
我们还可以指定网卡(下图中eth0是网卡)
删除规则
-D删除规则
如果不记得当时添加规则的写法,就使用如下方法删除:
列出规则***
删除指定***的规则,(这里的7改成你要删除的规则***)
修改默认规则
-P修改默认规则(不推荐更改)
改的是如下位置