在 Ubuntu 16.04 主机笔记本电脑中添加静态 IP

在 Ubuntu 16.04 主机笔记本电脑中添加静态 IP

我有一台带有外置 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 静态地址...网络掩码...

相关内容