u12*_*123 4 ubuntu ip lan ifconfig
运行 20.04 我试图找出我的笔记本电脑上的 LAN IP。如果我跑步,ifconfig我会得到(精简):
$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
...
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
...
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
...
virbr1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.39.1 netmask 255.255.255.0 broadcast 192.168.39.255
...
wlp0s20f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.23 netmask 255.255.255.0 broadcast 192.168.0.255
...
Run Code Online (Sandbox Code Playgroud)
以上哪一个是我的 IP - 例如,当我从 LAN 上的另一台 PC 通过 SSH 连接到这台笔记本电脑时,我会使用哪个 IP?
同样在“旧”时代我总是寻找eth0(也在ubuntu上)但似乎不再使用:
tel*_*coM 13
enp0s31f6显示标志UP但不显示RUNNING:这通常意味着它目前没有有效的链接。
另一方面,wlp0s20f3同时存在UP和RUNNING标志。名称前缀wl表明这是一个无线接口,正如您所说的这是一台笔记本电脑,这是有道理的。前缀en表示有线接口。
因此,接口的 IP 地址wlp0s20f3(即192.168.0.23)将用于来自其他物理主机的入站 SSH 连接。
接口docker0、virbr0和virbr1用于促进在该系统上运行的 Docker 容器和/或虚拟机之间的网络连接:根据其他设置,它们可能允许容器/VM 仅与主机操作系统通信,或者它们可能允许基于 NAT 的访问在此物理主机之外。要了解它们的确切用途,可能有必要研究 iptables NAT 和转发过滤规则(即sudo iptables -Lvn -t NAT和sudo iptables -Lvn)。
如果您的笔记本电脑的固件中嵌入了适当的数据记录,则其集成有线网络接口应标识为eno1,无线网络接口应标识为wlo1。但显然你的笔记本电脑的固件不包含这些记录。如果您愿意,您可以通过创建两个简单的文件来更改接口名称/etc/systemd/network/*.link。
首先,您需要使用例如sudo udevadm info -q all -p /sys/class/net/enp0s31f6 | grep -e ID_NET_NAME -e ID_PATH来识别硬件路径和自动检测到的网络接口候选名称。输出可能如下所示:
# udevadm info -q all -p /sys/class/net/enp0s31f6 | grep -e ID_NET_NAME -e ID_PATH
E: ID_NET_NAME_MAC=enx0123456789ab
E: ID_NET_NAME_ONBOARD=eno1
E: ID_NET_NAME_PATH=enp0s31f6
E: ID_PATH=pci-0000:00:1f.6
E: ID_PATH_TAG=pci-0000_00_1f_6
E: ID_NET_NAME=enp0s31f6
Run Code Online (Sandbox Code Playgroud)
如果ID_NET_NAME_ONBOARD没有出现该行,则确认您的系统固件未正确地将网络接口识别为板载接口。您可能希望通过重命名接口以使用理想情况下分配给它们的名称来解决此问题。要重命名此接口,您需要记下该ID_PATH=行,并使用它来编写配置文件,例如包含/etc/systemd/network/70-eno1.link以下内容:
[Match]
Path=pci-0000:00:1f.6
[Link]
Name=eno1 #or whatever you want
Run Code Online (Sandbox Code Playgroud)
无线接口也是如此。
Name=您还可以使用设置NamePolicy=来选择任何预先生成的ID_NET_NAME_*候选者,或者设置选择预先生成的名称的优先顺序,而不是设置显式 。请参阅man 5 systemd.link了解更多详情。
创建这些文件后,您应该更新 initramfs ( sudo update-inintramfs -u) 并重新启动。重新启动后,您应该会找到具有您选择的名称的接口。
请注意,这enp0s31f6是一个基于 PCI 设备路径的名称:它表示它引用 PCI 设备00:1f.6为 31 = 0x1f。同样,wlp0s20f3将是 PCI 设备00:14.3(20 = 0x14)。
| 归档时间: |
|
| 查看次数: |
2806 次 |
| 最近记录: |