Linux网络相关
ifconfig查看网卡ip(需要安装net-tools包)ip add也可以查看网卡ipyum install -y net-tools
当你的网卡没有ip的时候是不显示的,但是加上-a就可以查看到。ifconfig -a
关闭指定网卡(如果你正在连接这个网卡使用该命令会断开连接,所以不要用该命令关闭正在使用的网卡)(ens33是网卡名,根据当前服务器网卡名使用)ifdown ens33
启动指定网卡ifup ens33
指定重启正在使用的网卡ifdown ens33 && ifup ens33
设定虚拟网卡方法:
先到网卡目录下cd /etc/sysconfig/network-scripts/
拷贝网卡(加反斜杠\是为了拖意:,ens33:0为新网卡名)cp ifcfg-ens33 ifcfg-ens33\:0
然后编辑它,更改红色部分,绿色部分可以不要。(这个地方ens33:0不需要加反斜杠拖意)vi ifcfg-ens33:0
保存退出,然后重启网卡ifdown ens33:0 && ifup ens33:0
然后使用ifconfig就可以看到这个虚拟网卡了ifconfig
然后我们可以尝试ping一下。
查看网卡是否连接(ens33为网卡名,如果末尾是link ok就是连接的,no link就是没有连接,有些时候会显示不支持)mii-tool ens33
如果不支持,我们可以使用ethtool ens33(ens33为网卡名)(然后查看最后一行link detected如果是yes就是连接了,no就是没有连接。)ethtool ens33
更改主机名(shuaiyangyang是修改后的主机名称)hostnamectl set-hostname shuaiyangyang
改好后可以用hostname查看,不过改好后需要重新登录才会变,或者使用bash命令进入子shell也可以。hostname
主机名主配置文件位置cat /etc/hostname
DNS配置文件位置(该配置文件只能临时修改,重启网卡后失效)
cat /etc/resolv.conf
自定义域名,更改解析地址,ping网址指定ip(只在本机上生效)cat /etc/hosts
比如我们访问 www.baidu.com ,(我们使用ping)访问的到IP是百度的IP,但我们现在想让他访问到192.168.71.134这个IP上来,我们就要修改这个配置文件
vim打开这个配置文件vim /etc/hosts
在下面另起一行,进行下列编辑
保存退出,我们再ping一下百度就可以看到,它已经自动跳转到192.168.71.134这个IP上来了
支持一个IP后更多域名,使用空格分割。如果一个域名设置多个IP,它会以最后一个设置IP生效
firewalld和netfilter
selinux关闭方法(一般企业都是关闭的)
临时关闭setenforce 0
永久关闭,需要先进入配置文件进行关闭
进入配置文件vi /etc/selinux/config
将红色位置的单词enforcing改成绿色部位的单词disabled
保存重启后,我们可以使用getenforce查看一下selinux是否关闭
enforcing是开启状态,permissive是关闭状态。(因为需要重启才可以生效,我就没有重启)
netfilter防火墙及firewalld防火墙
netfilter(cenos7以前的叫法)7叫firewalld,虽然他们的机制不太一样,但是他们内部的工具iptables用法是一样的。我们可以用iptables添加一些规则实现开放或关闭端口。
cenos7也是可以使用netfilter防火墙的,我们需要先关闭firewalld然后开启netfilter。
具体方法如下:
先把firewalld停掉,不让它开机启动。systemctl disable firewalld
然后把这个服务关掉。systemctl stop firewalld
然后开启netfilter,在开启之前我们需要安装iptables-services包。yum install -y iptables-services
然后启动netfiltersystemctl start iptables
我们可以使用iptables -nvL查看他的规则iptables -nvL
netfilter5表5链介绍
我们可以man一下netfilter,里面有关于5个表的介绍man iptables
filter默认的表,包含3个链。
INPUT链:数据包进来的时候要经过的一个链,数据包进入到本机我们可以做一些操作,比如说我们把访问80端口的数据包检查一下它的源ip是什么,发现可疑ip我们要把它禁掉。
FORWARD链:数据包到了我们的机器,但是不会进入到内核里,因为数据包是要给另外一台机器处理的,所以它要判断一下目标地址是不是本机,如果不是本机那么就要经过这个链,经过这个链我们也要做一些操作,比如说把目标地址做一个更改,或者做一个转发。
OUTPUT链:是在本机产生的一些包出去之前做的操作。比如这个包是要发给某一个ip的,我可以禁掉这个地址,不让包过去。
nat表,(用在共享上网,路由器就是用nat实现的,也可以做端口映射)也有3个链。
PREROUTING链:用来更改数据包,在数据包进来的一刻我们要更改
OUTPUT和上面的OUTPUT一样。
POSTROUTING链:也是要更改数据包,数据包出去的那一个我们要更改
剩下的三个表几乎用不到
参考图(红色线路是不经过本机的线路,蓝色是经过本机的线路)
iptables语法
查看规则iptables -nvL
重启规则命令service iptables restart
规则保存在这个文件里cat /etc/sysconfig/iptables
清空规则(但是文件里还是没有清除,想要把当前规则保存到文件里需要运行 service iptables save 保存规则)iptables -F
重启这个文件或者重启系统会把文件里的规则同步到 iptables -nvL 查看的当前规则里。
iptables -nvL 默认查看的表是 filter 表,其实就是这条命令:iptables -t filter -nvL
我们还可以查看nat表iptables -t filter -nvL
把计数器清零
iptables -Z
添加规则
如把来源于某个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
-A增加一条规则后面指定链,
-s指定来源ip
-p指定协议
--sport来源的端口
-d目标的ip
--dport目标的端口
-j操作(上图DROP意识是扔掉,还有一个REJECT是拒绝的意思,两个效果是一样的,区别
在于第一个不看,第二个会看一下)
添加好以后我们使用 iptables -nvL 看一下。可以看到我们添加的规则如下图,出现在规则里。
插入规则
还有一种-I的用法,意思是插入规则(不写来源ip,不写目标ip,只写目标端口也是可以的,但是必须指定协议)
-I是插入的意思-A是增加的意思(插入会把规则插入到最前面,而增加是增加在最后面)
排在前面和排在后面的区别是:如果在前面,那么在过滤的时候优先过滤,如果一个包同时满足两个规则,系统会匹配第一条规则。
我们还可以指定网卡(下图中ens33:0是网卡)iptables -I INPUT -s 192.168.1.0/24 -i ens33:0 -j ACCEPT
删除规则iptables -D INPUT -p tcp --dport 80 -j DROP
如果不记得当时添加规则的写法,就使用如下方法删除:
列出规则序列号iptables -nvL -- line-number
删除指定序列号的规则,(这里的6改成你要删除的规则序列号)iptables -D INPUT 6
修改默认规则
-P修改默认规则(不推荐更改)iptables -P OUTPUT DROP
改的是如下位置