目录
1.1 ifconfig [网络接口]:查看指定网络接口信息
二.网卡位置:/etc/sysconfig/network-scrips/ifcfg-ens33
一.查看网络配置
1.ifconfig:查看所有活动的网络接口信息
主机的网络接口卡(网卡)通常称为网络接口,在Linux系统中,使用ifconfig命令可以查看网络接口的地址配置信息。
1.1 ifconfig [网络接口]:查看指定网络接口信息
只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig命令的参数(不论该网络接口是否处于激活状态)
解析:
- 第一行: UP:该接口 已启用; BROADCAST:支持广播; RUNNING:正在运行; MULTICAST:支持组播; mtu 1500 最大传输单元1500字节
- 第二行:inet后是网络地址; netmask后是子网掩码; broadcast后是网关
- 第三行:inet6后是ipv6的地址; prefixlen是子网长度;scopeid是作用域 ;0x20<link>:link表示仅该接口有效
- 第四行:ether是mac地址 ;txqueuelen是传输队列长度(传输缓存大小) Ethernet是接口类型
- 第五行:RX packets 808939:接收报文个数 bytes 1163548426 (1.0 GiB):总和字节数
- 第六行:RX errors 0:接收 错误 ; dropped 0 :丢弃; overruns 0:溢出; frame 0:冲突帧数
- 第七行:TX : 发送; packets 1317:报文个数; bytes 294334 (287.4 KiB):总字节数
- 第八行:TX errors 0:错误; dropped 0:丢失; overruns 0:溢出; carrier 0:载荷数 ; collisions 0:冲突数
1.2 nmcli:也可以查看网卡信息
2.ip a:查看ip地址,显示所有网卡包括没有启动的网卡
3.hostname:查看主机名称
查看Linux系统主机名,可以使用hostname进行操作;设置永久主机名,可以使用hostnamectl
hostname #查看或临时设置当前主机名
设置完需要su
hostnamectl set-hostname #永久设置主机名
vim /etc/hostname #设置完后需重启系统才生效
设置完需要reboot
4.route:查看路由表条目
route命令不仅可以用于查看路由表信息,还可以用来添加、删除静态的路由表条目;
结合 -n 选项使用时,可以将路由记录中的地址显示为数字形式。
路由表主要构成解析:
- Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
- Genmask:目标网络对应的netmask
- Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
- Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
- Metric: 开销cost,值越小,路由记录的优先级最高
4.1 添加和删除指定网段的路由记录
route add -net 网段地址 gw IP地址
#添加指定网段的路由记录
route del -net 网段地址
#删除指定网段的路由记录
4.2 添加和删除路由表中的网关记录
route add default gw IP地址
#向路由表中添加默认网关记录
route del default gw IP地址
#删除路由表中默认的网关记录
5.netstat:查看网络连接情况
格式:
netstat [选项]
选项 | 功能 |
---|---|
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。 |
-n | 拒绝显示别名,以数字的形式显示相关的主机地址、端口等信息。 |
-t | 查看TCP协议相关的信息。 |
-u | 显示UDP协议相关的信息。 |
-r | 显示路由表信息。 |
-l | 显示处于监听状态(Listen)的网络连接及端口信息。 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
5.1 常用选项 -ntap
5.2 过滤端口
格式:
netstat -ntap |grep :端口号
过滤出80端口,发现没有说明某一个占用80的服务没有开启(http没有开启)
打开服务,再次过滤
系统打开了一个服务,会自动分配一个端口号
这个端口号如果是众所周知 http 80; ssh 20; ftp 20 21; https 443等,会占用固定的端口号
如果不是众所周知的,就会随机生成一个端口号
判断一个服务是否启动? 可以过滤他的端口号!
6.ss:查看网络连接情况,获取socket统计信息
格式:ss [选项]
- ss 命令(socket statistics):也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
- 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效
- 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
- ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
- ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
选项 | 功能 |
---|---|
-t | tcp协议相关 |
-u | udp协议相关 |
-w | 裸套接字相关 |
-x | unix sock相关 |
-l | listen状态的连接 |
-a | 显示所有连接 |
-n | 数字格式 |
-p | 相关的程序及PID |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | --resolve 把 IP 解释为域名,把端口号解释为协议名称。 |
6.1 常用选项 -ntap
7.ping:测试网络连通性(icmp协议)
格式:
ping [选项] 目标主机
选项 | 功能 |
---|---|
-c | 发送包数即指定ping 的次数 |
-w | 表示等待秒数 |
-i | 发送的间隔时间 |
-W | 超时等待时间 |
8.traceroute:跟踪数据包
格式:
traceroute 目标主机地址
测试从当前主机到目的主机之间经过的网络节点。
9.nslookup:域名解析
格式:
nslookup 目标主机地址 [DNS服务器地址]
10.dig:解析域名,它可以显示出更多详细内容
二.网卡位置:/etc/sysconfig/network-scrips/ifcfg-ens33
三.设置网络地址参数
1.临时配置和固定配置
1.1 临时配置:使用命令调整网络参数
- 简单、快速,可直接修改运行中的网络参数
- 一般只适合在调试网络的过程中使用
- 系统重启以后,所做的修改将会失效
1.2 固定设置:通过配置文件修改网络参数
- 修改各项网络参数的配置文件
- 适合对服务器设置固定参数时使用
- 需要重载网络服务或者重启以后才会生效
2.设置网络接口参数:使用ifconfig命令
2.1 设置网络接口的ip地址、子网掩码
ifconfig 网络接口 ip地址 [netmask 子网掩码] #写法一
ifconfig 网络接口 ip地址 [/子网掩码长度] #写法二
2.2 禁用或者重新激活网卡
ifconfig 网络接口 on #激活
ifconfig 网络接口 down #禁用
2.3 设置虚拟网络接口
ifconfig 网络接口:序号 ip地址
例:
ifconfig ens33:0 192.168.157.100/24
#设置虚拟网卡
ifconfig ens33:0 down
#关闭虚拟网卡
3.启用和禁用网络接口配置
3.1 重启 network 网络服务
systemctl restart network
3.2 启用和禁用网络接口
ifdown ens33 #禁用
ifup ens33 #启用
四.域名解析配置文件
1.文件所在位置: /etc/resolv.conf
2.保存本机需要使用的DNS服务器的ip地址
3.注意:CentOS 7需要在NetworkManager.conf文件main段内设置dns=none,并重启NetworkManager服务,或者使用CentOS 7新添加nmcli命令进行设置。
五.本地主机映射文件
1.位置:/etc/hosts
文件
2.保存主机名与IP地址的映射记录
3.hosts文件和DNS服务器的比较
- 默认情况下,系统首先从hosts文件查找解析记录
- hosts文件只对当前的主机有效
- hosts文件可减少DNS查询过程,从而加快访问速度
六.bond实验
1.添加一个网络适配器(NAT即可)
2.进入网卡配置位置并查看此目录
3.编辑bond0
vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.79.111
NETMASK=255.255.255.0
GATEWAY=192.168.79.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
4.编辑ens33
vim ifcfg-ens33
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
5.编辑ens36
vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
6.开启服务(此时无反应很正常)
7.用另一台主机去ping bond上的ip,可以ping通
8.测试,将其中一块网络适配器断开连接,另一台在虚拟机不受影响
9.检测