网络状态查看
net-tools VS iproute
1、net-tools
- ifconfig(注意,不是ipconfig,ipconfig是window的命令)
- route
- netstat
2、iproute2
- ip
- ss
查看网络配置
[root@rh9-001 ~]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:0c:d5:bf:f9 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.157.132 netmask 255.255.255.0 broadcast 192.168.157.255
inet6 fe80::20c:29ff:fe5f:b814 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:5f:b8:14 txqueuelen 1000 (Ethernet)
RX packets 1024801 bytes 1280244519 (1.1 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 480386 bytes 30942341 (29.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 334949 bytes 20109098 (19.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 334949 bytes 20109098 (19.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
网卡接口命名修改
- 网卡命名规则受biosdevname和net.ifnames两个参数影响
- 编辑 /etc/default/grub文件,怎加biosdevname=0 net.ifnames=0
- 更新grub
grub2-mkconfig -o /boot/grub2/grub.cfg
- 重启
| biosdevname | net.ifnames | 网卡名 | |
|---|---|---|---|
| 默认 | 0 | 1 | ens33 |
| 组合1 | 1 | 0 | em1 |
| 组合2 | 0 | 0 | eth0 |
vim /etc/default/grub
// 以下是grub文件的内容,GRUB_CMDLINE_LINUX末尾新增 biosdevname=0 net.ifnames=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet biosdevname=0 net.ifnames=1"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
// 修改完成后更新grub
grub2-mkconfig -o /boot/grub2/grub.cfg
// 重启
reboot
查看网卡物理连接情况(网线连接)
mii-tool eth0
查看网关命令
- 查看网关
route -n- 使用 -n参数不解析主机名
route -n
// 返回
[root@rh9-001 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.157.2 0.0.0.0 UG 100 0 0 ens160
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.157.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
网络配置
网络配置命令
- ifconfig <接口> <IP地址> [netmask 子网掩码]
- ifconfig eth0 192.168.157.36
- ifup <接口> # 启动网卡
- ifdown <接口> # 禁用网卡
网关配置命令
- 添加网关
- route add default gw <网关IP>
- route add -host <指定IP> gw <网关IP>
- route add -net <指定网段> netmask <子网掩码> gw <网关IP>
路由命令
网络故障排除
- ping
- 检测当前主机和目标主机是否畅通,查看是否出现网络中断或目标主机有防火墙的情况;
- traceroute追踪路由
- 检测当前主机和目标主机的网络状况;辅助ping命令使用,如果网络畅通,但是还是访问异常,可以使用traceroute来追踪主机的每个服务的网络质量;
- mtr
- 检测当前主机和目标主机之间是否有数据包丢失;辅助ping命令使用,如果网络畅通,但是还是访问异常,可以使用mtr来检查是否出现数据包丢失;
- nslookup
- 域名访问,通过nslookup 可以查看域名对应的IP是什么;
- telnet
- 主机可以访问,但是服务仍然异常,可以继续查看端口问题,使用telnet查看端口是否畅通;
telnet www.baidu.com 80
// 如果畅通则返回
Trying 183.240.98.161...
Connected to www.baidu.com.
// 退出使用 ctrl + ],然后输入 quit 退出telnet
- tcpdump
- 用于捕获和分析网络流量。抓包逐个检查;
tcpdump的常用选项包括:-i指定要监听的网络接口。如果不指定,默认监听第一个非环回接口(如eth0)。-n不解析主机名,直接显示 IP 地址。-nn不解析主机名和端口号,直接显示 IP 地址和端口号。-c <数量>捕获指定数量的数据包后退出。-w <文件>将捕获的数据包保存到文件中(文件格式为.pcap)。-r <文件>从文件中读取并分析数据包。port <端口号>捕获指定端口号的数据包。host <ip>捕获来自主机的数据包。port <端口号> and host <ip>捕获指定主机和端口的数据包。
// 捕获所有网卡的数据包
tcpdump -i any
// 捕获所有网卡的数据包且不解析主机名,直接显示 IP 地址。
tcpdump -i any -n
// 捕获所有网卡的数据包且不解析主机名和端口,直接显示 IP 地址和端口号。
tcpdump -i any -nn
// 捕获任意网卡访问80端口的数据包;
tcpdump -i any -n port 80
// 捕获任意网卡访问指定ip和指定端口的数据包
tcpdump -i any -n host 10.0.0.1 and port 80
// 将捕获的数据包存储到文件中
tcpdump -i any -n host 10.0.0.1 and port 80 -w /tmp/filename
-
netstat
用于查看网络连接、路由表、接口统计等信息。
-
显示网络连接:可以查看当前的TCP和UDP连接,包括 Established、Listening、Closed等状态。
-
显示路由表:查看系统的路由表,了解数据包是如何路由的。
-
显示接口统计:查看网络接口的统计信息,如接收和发送的字节数、包数等。
-
显示masquerade连接:在使用NAT时,可以查看被伪装的连接。
-
显示多播成员列表:查看系统加入的多播组
-
netstat的常用选项包括:-a:显示所有连接和监听端口。-t:显示TCP连接。-u:显示UDP连接。-n:显示数字形式的地址和端口号,不进行反向解析。-p:显示与连接相关的进程ID和程序名称。-r:显示路由表。
示例命令:
-
netstat-tuln
// 返回
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:4330 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:44321 0.0.0.0:* LISTEN
tcp6 0 0 ::1:44321 :::* LISTEN
tcp6 0 0 :::111 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:4330 :::* LISTEN
udp 0 0 127.0.0.1:323 0.0.0.0:*
udp 0 0 0.0.0.0:56943 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp6 0 0 ::1:323 :::*
udp6 0 0 :::42532 :::*
udp6 0 0 :::111 :::*
udp6 0 0 :::5353 :::*
这个命令会显示所有监听的TCP和UDP端口,以及它们的IP地址和端口号。
-
ss(功能和netstat一样,但功能更强大,性能更高)
ss的常用选项包括:-a:显示所有套接字。-t:显示TCP套接字。-u:显示UDP套接字。-n:显示数字形式的地址和端口号,不进行反向解析。-p:显示与套接字相关的进程ID和程序名称。-r:显示路由表。
示例命令:
ss -tuln
// 返回
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:56943 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
udp UNCONN 0 0 [::1]:323 [::]:*
udp UNCONN 0 0 [::]:42532 [::]:*
udp UNCONN 0 0 [::]:111 [::]:*
udp UNCONN 0 0 [::]:5353 [::]:*
tcp LISTEN 0 5 127.0.0.1:4330 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:111 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 5 127.0.0.1:44321 0.0.0.0:*
tcp LISTEN 0 5 [::1]:44321 [::]:*
tcp LISTEN 0 4096 [::]:111 [::]:*
tcp LISTEN 0 128 [::]:22 [::]:*
tcp LISTEN 0 5 [::1]:4330 [::]:*
这个命令与`netstat -tuln`类似,用于显示所有监听的TCP和UDP端口。
网络服务管理
- 网络服务管理程序分为两种,分别为SysV和systemd
- service network start|stop|restart
- chkconfig -list network
- systemctl list-unit-files NetworkManager.service
- systemctl start|stop|restart NewworkManager
- systemctl enable|disable NetworkManager
常用网络配置文件
- ifcfg-eth0
- /etc/hosts
网络配置存放地址
/etc/sysconfig/network-scripts- 该目录下有对应的网卡配置文件,ifcfg-<网卡名>
/etc/hosts- 当使用命令
hostnamectl set-hostname <主机名>后,需要在/etc/hosts文件中新增新主机名的解析127.0.0.1 <主机名>
- 当使用命令
4335

被折叠的 条评论
为什么被折叠?



