Linux 网络命令及网卡配置
目录
ifconfig 命令
—— 作用查看所有的网络接口信息
来自 net-tools 包
基础用法
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
该接口已启用,支持广播 正在运行 支持组播 最大传输单元 1500 字节inet 192.168.88.99 netmask 255.255.255.0 broadcast 192.168.88.255
inet6 fe80::407a:8f7e:a4ce:de92 prefixlen 64 scopeid 0x20<link>
IPV6 地址 子网长度 作用域 link 表示仅该接口有效ether 00:0c:29:e1:54:cf txqueuelen 1000 (Ethernet)
mac 地址 传输队列长度(传输缓存大小)接口类型
RX packets 634547 bytes 901232757 (859.4 MiB)
接受 报文个数 总和字节数RX errors 0 dropped 0 overruns 0 frame 0
接受 错误 丢弃 溢出 冲突帧数TX packets 311449 bytes 18941924 (18.0 MiB)
接受 报文个数 总字节数TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
错误 丢失 溢出 载荷数 冲突数
常用命令格式
—— ifconfig 默认查看启动的网卡
—— ifconfig -a 查看所有的网卡包括未启动的网卡
—— ifconfig en33 只看 ens33 网卡
网卡名称详解 ens33
—— en 是 EtherNet 的缩写,表示网卡类型为以太网
—— s 表示热插拔插槽上的设备
—— 33 表示插槽编号
开启网卡以及关闭网卡命令
—— ip link set ens33 down 关闭 ens33 网卡
—— ip link set ens33 up 开启 ens33 网卡
临时修改网卡名称
—— ip link set ens33 name 自定义网卡名 更改网卡名 ens33 为自定义的网卡名(重启设备之后网卡名会恢复)
永久修改网卡名称
1. 进入配置文件 /etc/default/grub 并插入命令 net.ifnames=0
2. 进入要改名的网卡编辑器
例:修改网卡 ens33 为 mihayo ,进入配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33
3. 重新加载 grub ,实验完成
hostname 命令
—— 修改主机名以及查看主机名
—— hostname 查看主机名
—— hostname 自定义名 将主机名临时修改为自定义名称
在 centos7 下永久修改主机名
—— hostnamectl set-hostname 自定义名 永久修改主机名为自定义名称
在 centos6 下永久修改主机名
—— vim /etc/sysconfig/network 进入配置文件并将主机名修改为自定义名称保存并退出
route 命令
—— 查看或设置主机中路由表的信息
—— route -n 将路由表中记录的地址显示转化为数字形式
Destination :目标 IP
Gateway :下一跳地址
Genmask :目标 IP 的子网掩码
常用命令格式
route add -net ip地址/掩码 gw 下一跳地址 | 添加指定网段的路由记录 |
---|---|
route del -net ip地址/掩码 | 删除指定网段的路由记录 |
route add default gw ip地址/掩码 | 向路由表中添加默认网关记录 |
route del default gw ip地址/掩码 | 删除路由表中默认的网关记录 |
netstat 命令
—— 查看网络连接情况
格式:netstat 选项
netstat | 作用 |
---|---|
-a | 显示当前主机中所有活动的网络连接信息 |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听状态的网络连接及端口信息 |
-t | 查看TCP协议相关的信息 |
-u | 显示UDP协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(需要root权限) |
命令举例
ss 命令
—— 可以查看网络连接的情况
优势:能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效,ss更快,更接近内核
格式:ss 选项
ss | 作用 |
---|---|
-t | tcp 协议相关 |
-u | udp 协议相关 |
-w | 裸套接字相关 |
-x | unix sock 相关 |
-l | listen 状态的连接 |
-a | 所有 |
-n | 数字格式 |
-p | 相关的程序及 PID |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | 把 IP 解释为域名,把端口号解释为协议名称 |
常用命令
ss -natp 数字格式显示所有 TCP 协议相关的程序及 pid
ss -naup 数字格式显示所有 UDP 协议相关的程序及 pid
ping 命令
—— 测试网络连通性
格式:ping 选项 目标ip
ping -c 数字 目标ip 向目标发送几个包
ping -w 数字 目标ip 表示 ping 多少秒
命令举例
ping www.baidu.com 长ping百度(默认)
ping -c 5 www.baidu.com 发送 5 个包
ping -w 5 www.baidu.com 表示 ping 5 秒
traceroute 命令
—— 跟踪数据包的路由途径
格式:traceroute 目标ip
nslookup 命令
—— 测试域名解析
格式:nslookup 目标ip
永久修改网络相关配置文件
在虚拟机该地址下配置网络
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
DEVICE=ens33
ONBOOT=YES 开机是否自启动
BOOTPROTO=static 网卡获取地址模式
IPADDR=192.168.159.159 配置你自己的 IP 地址
NETMASK=255.255.255.0 子网掩码
GATEWAY=192.168.159.2 网关
DNS1=192.168.159.2 域名解析systemctl restart network 重启网卡服务
测试
ping www.baidu.com ping 百度地址测试网络是否连接成功
配置文件注释:
DEVICE(网卡设备)
BOOTPROTO(连接模式)
ONBOOT(开机是否自启)
IPADDR(IP地址)
NETMAK(PREFIX)(子网掩码)
GATEWAY(网关)
tcpdump 命令,抓包工具
格式:tcpdump 选项 协议 数据的方向 抓取的数据类型
proto 协议
1.tcp、udp、icmp tcpdump -i ens33 icmp(只抓ens33的icmp协议的包)
2.ipv4,ipv比较少
3.arp
dir 方向:一般默认是源和目的都抓
—— src :源
例:tcpdump -i ens33 src net 192.168.91.0/24 (抓来源是这个网段的包)
—— dst :目的
例:tcpdump -i ens33 dst net 192.168.91.0/24(抓目的是这个网段的包)
—— src and dst :源和目的都抓
type 类型
1.host 主机 tcpdump -i ens33 host 192.168.91.6(只抓跟91.6有关的包)
2.net 网段
3.port 端口
4.port range 端口范围
例
tcpdump -i -en33 -nnn 只抓经过 en33 的流量
-i:指定网卡
-n :显示详细信息,加 nn 是更详细
多网卡绑定
—— 将多块网卡绑定同一 IP 地址对外提供服务,可以实现高可用或者负载均衡,直接给两块网卡设置同一 IP 地址是不可以的,所以通过 bonding ,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的 MAC 地址
实验操作举例
1. 准备两个网卡
2. 重启网卡服务
3. 检查网卡
4. 进入网卡配置文件位置 /etc/sysconfig/network-scripts
5. 新建 bond 文件并进行编辑配置
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=staticONBOOT=yes
IPADDR=192.168.88.150
NETMASK=255.255.255.0
GATEWAY=192.168.88.2DNS1=8.8.8.8
DNS2=114.114.114.114
BONDING_OPTS="mode=1 miinon=100 fail_over_mac=1" 每 100ms 刷新一次
6. 配置网卡 ens33
NAME=ens33
DEVICE=ens33
BOOTPROTO=static
MASTER=bond0
SLAVE=yes
ONBOOT=yes
7. 配置网卡 ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=static
MASTER=bond0
SLAVE=yes
ONBOOT=yes
8. 重启网卡服务,如果报错则之前的步骤配置有错误
9. 测试实验是否成功,用另一台虚拟机 ping 刚配置的 ip 地址,ping 通则成功