为什么80%的码农都做不了架构师?>>>
linux网络相关
查看网卡网络信息
ifconfig 命令查看网卡网络信息,比如ip、网关、子网掩码等,但是安装centos7的版本或者某些未知原因,此命令提示找不到,我们可以使用Yum安装:
yum install -y net-tools
使用 ifconfig 命令查看
ifconfig
选项:
- a : 显示包含因为神奇原因挂掉的网卡
ifconfig -a
或者某些时候我们也可以使用 ** ip add ** 命令来查看信息,实际比较还是觉得ifconfig命令显示的清楚一点。
ip add
重启某个指定网卡(ifdown表示关闭某网卡,ifup表示启用某网卡)
ifdown ens33 ; ifup ens33 #第1种方式
ifdown ens33 && ifup ensss #第2种方式
由于使用远程登录,所以不建议单独使用** ifdown **命令,至于为什么要重启某网卡而不是重启服务呢,因为假如你只修改了此网卡的部分信息,不想直接重启服务影响其他网卡的使用,所以可以 **ifdown **和 **ifup **结合使用表示重启;
设置虚拟网卡
1.进入网卡配置文件目录
[root@yolks1 ~]# cd /etc/sysconfig/network-scripts/
2拷贝文件当前ens33网卡配置文件
[root@yolks1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1 #前面的右斜杠表示脱义冒号
3.编辑新复制的网卡配置文件:ifcfg-ens33:1
vim ifcfg-ens33:1
修改以下标注的地方,删除掉DNS和GATEWAY所在的行
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个链:INPUT、OUTPUT以及FORWARD。INPUT链作用于进入本机的包,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电子书