我有一台带有外置 wifi 适配器的 HP 笔记本电脑,因为没有内置 Wifi 适配器。
这是我的ifconfig
结果
docker0 Link encap:Ethernet HWaddr 02:42:fc:cf:ad:7c
inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eno1 Link encap:Ethernet HWaddr 10:e7:c6:7c:81:c3
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:6880 errors:0 dropped:0 overruns:0 frame:0
TX packets:6880 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:580042 (580.0 KB) TX bytes:580042 (580.0 KB)
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlx502b73e86298 Link encap:Ethernet HWaddr 50:2b:73:e8:62:98
inet addr:192.168.43.254 Bcast:192.168.43.255 Mask:255.255.255.0
inet6 addr: fe80::a85:c587:3653:359/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:53032 errors:0 dropped:0 overruns:0 frame:0
TX packets:45991 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42520401 (42.5 MB) TX bytes:6912557 (6.9 MB)
我使用我的 IP192.168.43.254
和 wifi 适配器wlx502b73e86298
现在当我连接到另一个 WIFI 时,我的 IP 变为
192.168.0.106
我可以保留一些静态 IP 吗,这样192.168.0.10
无论我连接哪个 WIFI 它都可以正常工作?
我已经尝试过以下配置
sudo nano /etc/network/interfaces
auto wlx502b73e86298
iface wlx502b73e86298 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.4.4 8.8.8.8
然后运行这些命令
sudo ip addr flush wlx502b73e86298
sudo systemctl restart networking.service
现在,如果我这样做,ifconfig
我可以看到我的 IP 为 192.168.0.10
但ping google.com
它不起作用,我无法访问互联网。
我之所以需要静态 IP,是因为我在 Docker 中运行了一些容器,并且所有容器都指向主机 IP。如果主机 IP 发生变化,我必须在每个容器中更改 IP。
答案1
使用您的本地主机?127.0.0.1。
您需要使用类似“docker run -d -p 127.0.0.1:80:5000 base/theApp python theApp.py”将您的docker容器绑定到本地主机。
如果这不是您可以使用的选项,那么您还有两个选择。
最好的解决方案是在所有 dhcp 服务器中将您的 mac 地址绑定到您的 ip。
如果您无法访问 dhcp-server 配置,则需要使用 dhcp(动态设置)和具有静态 IP 的子接口。只需记住与您的网络所有者确认这一点,否则可能会导致网络重复地址错误。这里已经有一个关于此问题的帖子askubuntu.com
只需添加接口:[接口号]即可添加另一个接口配置。
例子:
自动 lo eth0 eth0:0 iface lo inet 环回
iface eth0 inet dhcp
iface eth0:0 inet 静态地址...网络掩码...