为 wifi 分配静态 IP,Ubuntu 16.04

为 wifi 分配静态 IP,Ubuntu 16.04

我知道有很多类似的问题和答案。我至少尝试了十几种方法,但都无法奏效。

我有一台新笔记本电脑。我想通过 WiFi 分配一个静态 IP 地址。每次我尝试然后重新启动网络管理器时,它都无法连接。有时我设法找到让它看起来已连接但实际上没有连接的设置。

如果有任何用处的话,我的路由器是 Virgin Superhub 2。

ifconfig 的结果(重新启动网络管理器后不尝试静态 IP):

wlp2s0    Link encap:Ethernet  HWaddr b8:8a:60:e0:3f:08  
          inet addr:192.168.0.41  Bcast:192.168.0.255  Mask:255.255.255.0

最近一次尝试 /etc/network/interfaces(虽然我尝试过很多其他的):

# interfaces(5) file used by ifup(8) and ifdown(8)
auto wlp2s0
iface wlp2s0 inet static
  address 192.168.0.16
  netmask 255.255.255.0
  gateway 192.168.0.255

抱歉,这是重复的,但我发现所有答案都不起作用。

非常感谢您提供的任何帮助。

更新:

$ sudo ifdown wlp2s0 && sudo ifup -v wlp2s0
[sudo] password for harry: 
ifdown: interface wlp2s0 not configured
Configuring interface wlp2s0=wlp2s0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
wpa_supplicant: wpa-driver nl80211,wext (default)
wpa_supplicant: /sbin/wpa_supplicant -s -B -P /run/wpa_supplicant.wlp2s0.pid -i wlp2s0 -D nl80211,wext -C /run/wpa_supplicant
Starting /sbin/wpa_supplicant...
wpa_supplicant: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlp2s0.pid
wpa_supplicant: ctrl_interface socket located at /run/wpa_supplicant/wlp2s0
wpa_supplicant: configuring network block -- 0
wpa_supplicant: wpa-ssid "Tolstoy" -- OK
wpa_supplicant: wpa-psk ***** -- OK
wpa_supplicant: enabling network block 0 -- OK
/bin/ip addr add 192.168.0.41/255.255.255.0 broadcast 192.168.0.255       dev wlp2s0 label wlp2s0
/bin/ip link set dev wlp2s0   up
 /bin/ip route add default via 192.168.0.1  dev wlp2s0 onlink 
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/avahi-autoipd
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/upstart
run-parts: executing /etc/network/if-up.d/wpasupplicant

更新-禁用,停止并重新启动网络后 ifconfig 的输出:

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:39023 errors:0 dropped:0 overruns:0 frame:0
      TX packets:39023 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1 
      RX bytes:2460682 (2.4 MB)  TX bytes:2460682 (2.4 MB)

wlp2s0    Link encap:Ethernet  HWaddr b8:8a:60:e0:3f:08  
      inet addr:192.168.0.41  Bcast:192.168.0.255  Mask:255.255.255.0
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:24074 errors:0 dropped:0 overruns:0 frame:0
      TX packets:6655 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:6886053 (6.8 MB)  TX bytes:1333918 (1.3 MB)

答案1

如果没有预期的 SSID 和 WPA 密码,任何无线接口都无法连接。

我怀疑网关是 x.255。不尝试设置静态 IP 地址,请检查:

route -n

我怀疑网关是 x.1 或 x.254。

/etc/network/interfaces另外,您缺少 DNS 名称服务器。我建议您按如下方式设置:

auto wlp2s0
iface wlp2s0 inet static
  address 192.168.0.16
  netmask 255.255.255.0
  gateway 192.168.0.1
  dns-nameservers 192.168.0.1 8.8.8.8
  wpa-ssid <your_network>
  wpa-psk <your_key>

重启并检查:

ifconfig
ping -c3 www.ubuntu.com

请确保所选的 IP 地址 x.16 位于路由器中分配的 DHCP 池之外。

接下来,检查路由器中的设置。首选 WPA2-AES;而不是任何 WPA 和 WPA2 混合模式,当然也不是 TKIP。其次,如果您的路由器支持 N 速度,那么使用 2.4 GHz 频段的 20 MHz 信道宽度(而不是自动 20/40 MHz)可能会获得更好的连接性,尽管它可能会影响 N 速度。使用固定信道(1、6 或 11)比自动信道选择更幸运。此外,请确保路由器未设置为仅使用 N 速度;首选自动 B、G 和 N。进行这些更改后,重新启动路由器。

接下来,我建议明确设置你的监管范围。检查你的:

sudo iw reg get

如果您选择 00,则这是一个通用的设置。请在此处查找您的设置:http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2然后暂时设置一下:

sudo iw reg set IS

当然,如果不是冰岛,请替换您的国家代码。永久设置它:

gksudo gedit /etc/default/crda

如果您没有文本编辑器 gedit,请使用 nano 或 Kate 或 leafpad。

将最后一行改为:

REGDOMAIN=IS

仔细校对,保存并关闭文本编辑器。

接下来,我在网络管理器中将 IPv6 设置为忽略:http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/images/netconfig/network-connections-ipv6-ignore.png 此示例适用于以太网,但您想要无线。

重启路由器和电脑后,请显示:

sudo ifdown wlp2s0 && sudo ifup -v wlp2s0

将结果粘贴至:http://paste.ubuntu.com并提供链接给我们。

答案2

感谢您的帮助,但我已经放弃尝试从 Ubuntu 执行此操作。我尝试了几十种方法,但都不起作用。最后,我又尝试在路由器上保留 IP,终于成功了。

从 Virgin Media 隐喻中的“超级”集线器执行此操作的困难在于,您必须先断开设备,然后才能输入其 MAC 地址。据我所知,此“功能”是该路由器独有的。

再次感谢您的帮助。

答案3

禁用网络管理器。文件中的接口被 NetworkManager 服务覆盖。重新启动 networking.service

systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl 重启网络服务

答案4

使用 DHCP 的 wifi 连接能正常工作吗?我昨天也遇到了类似的问题(设置看起来不错,但不起作用,例如在 WLAN 或互联网上都无法 ping 通)

我刚刚通过将路由器设置为 b/g 模式而不是 b/g/n 模式来使连接正常工作。

相关内容