今天刚开始,Linux 网络无法连接,今天总结一下与 Linux 网络连接相关的东西:
# 1. 网卡
我们首先可以通过命令
tips: 命令学习 1
ip a |
进行 IP 地址的查询,然后我们会得到如下的命令返回,可以看到 ens33 这一行,其对应的状态是 DOWN,关闭的状态
u@u-virtual-machine:~$ ip a | |
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 | |
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 | |
inet 127.0.0.1/8 scope host lo | |
valid_lft forever preferred_lft forever | |
inet6 ::1/128 scope host | |
valid_lft forever preferred_lft forever | |
2: ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 | |
link/ether 00:0c:29:97:62:9c brd ff:ff:ff:ff:ff:ff | |
altname enp2s1 |
如果 ens33 工作正常,其 ens33 的正常状态应该如下所示
u@u-virtual-machine:~$ ip a | |
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 | |
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 | |
inet 127.0.0.1/8 scope host lo | |
valid_lft forever preferred_lft forever | |
inet6 ::1/128 scope host | |
valid_lft forever preferred_lft forever | |
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 | |
link/ether 00:0c:29:97:62:9c brd ff:ff:ff:ff:ff:ff | |
altname enp2s1 | |
inet 192.168.159.128/24 brd 192.168.159.255 scope global dynamic ens33 | |
valid_lft 1261sec preferred_lft 1261sec | |
inet6 fe80::20c:29ff:fe97:629c/64 scope link | |
valid_lft forever preferred_lft forever |
解释一下这里面的语句,ens33 是网卡端口,是 Linux 系统对以太网卡的命名:
-
en表示以太网(Ethernet) -
s33中的s代表热插拔插槽(hot-plug Slot),33为插槽编号 -
同类接口:
eth0(旧版命名)、enp0s3(PCI 总线位置命名)
更准确地说: ens33 、 enp0s3 这类名字属于 systemd 的可预测网络接口命名,按硬件位置、PCI 总线编号等规则生成,不同虚拟机 / 主板环境名称会不同(常见还有 ens33 、 enp2s1 、 eth0 ),所以排查网络时不要死记接口名,直接看 ip a 里哪块网卡是 UP 。
那么如果 ens33 显示关闭的状态,我们该怎么办呢,可以通过
sudo ip link set ens33 up |
设置完成之后,ens33 显示为开的状态,此时,再次进行 ping 网络尝试,仍然不可连接
# 2.DHCP 检查
DHCP 可以做到动态获取 IP 地址,从而进行联网操作
对于 DHCP 的设置,我们需要先进行 DHCP 的释放,使用语句
sudo dhclient -r ens33 |
之后进行再次重启
sudo dhclient -v ens33 |
重启之后,就可以进行网址的通信,可以通过 ping 代码进行验证
说明:
dhclient是 DHCP 客户端工具,-r表示 release(释放),-v表示 verbose(显示详细过程)。如果dhclient不可用,Ubuntu 桌面版常用 NetworkManager,也可以sudo nmcli device reapply ens33重新获取地址。
比如说我和百度的网址进行沟通,那么就是
ping baidu.com | |
其网站会返回 | |
PING baidu.com (124.237.177.164) 56(84) bytes of data. | |
64 bytes from 124.237.177.164 (124.237.177.164): icmp_seq=1 ttl=128 time=27.0 ms | |
64 bytes from 124.237.177.164 (124.237.177.164): icmp_seq=2 ttl=128 time=13.6 ms | |
64 bytes from 124.237.177.164 (124.237.177.164): icmp_seq=3 ttl=128 time=11.2 ms |