Ubuntu 设置无线 wifi 的静态 IP

安装 net-tools

sudo apt install net-tools

输入ifconfig查看当前网络ip地址:

pulsar@pulsar:~$ ifconfig 
docker0: flags=4099  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:02:8c:87:a4  txqueuelen 0  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (本地环回)
        RX packets 1458  bytes 113031 (113.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1458  bytes 113031 (113.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp0s20f3: flags=4163  mtu 1500
        inet 192.168.1.111  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::c1e9:cb75:e21a:5125  prefixlen 64  scopeid 0x20
        ether d4:54:8b:13:06:28  txqueuelen 1000  (以太网)
        RX packets 53789  bytes 54126215 (54.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 35118  bytes 10016278 (10.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

找到wifi网口的配置,一般来说eth0是有线网口,wlan0是wifi网口,我的电脑wifi网口是wlp0s20f3,如下:

wlp0s20f3: flags=4163  mtu 1500
        inet 192.168.1.111  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::c1e9:cb75:e21a:5125  prefixlen 64  scopeid 0x20
        ether d4:54:8b:13:06:28  txqueuelen 1000  (以太网)
        RX packets 53789  bytes 54126215 (54.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 35118  bytes 10016278 (10.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

注意看第二行,其中192.168.1.111是当前的IP地址,255.255.255.0是子网掩码,192.168.1.255是广播地址(不用管)。

打开设置中的Wi-Fi

Ubuntu 设置无线 wifi 的静态 IP_第1张图片

 点击所连接的wifi右边的设置按钮:

Ubuntu 设置无线 wifi 的静态 IP_第2张图片

 选择IPv4进入

Ubuntu 设置无线 wifi 的静态 IP_第3张图片

选择手动,并根据前面ifconfig得到的IP地址输入,前面我得到的是192.168.1.111(需要根据自己得到的ip地址进行修改),然后子网掩码填255.255.255.0,网关填192.1681.1,即

Ubuntu 设置无线 wifi 的静态 IP_第4张图片

点击关闭网络然后重新打开,这个时候ip地址就固定了。

但是这个时候可能会出现连不上网的情况,或者说能连上局域网,但是连不上公网 (比如www.baidu.com),这时候需要修改DNS,修改方式有两种:

方法一:

将取消DNS自动并填入8.8.8.8

Ubuntu 设置无线 wifi 的静态 IP_第5张图片

关闭网络然后重新打开即可。

方法二:

终端输入

sudo gedit /etc/resolv.conf 

将nameserver的值改成8.8.8.8,

sudo systemctl restart NetworkManager

关闭网络然后重新打开,即可连接公网。

但是自动分配ip地址后,每次重新开机后,ip地址是不变的,因此每次关机后,此文件中的nameserver会重置,还需要再次修改,才能使用dns服务。解决办法如下:

注意 resolv.conf 文件说明

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

这个文档说 Do not edit,他自动生成的文档。另外在终端输入

man systemd-resolved

注意到

The DNS servers contacted are determined from the global settings in
       /etc/systemd/resolved.conf, the per-link static settings in
       /etc/systemd/network/*.network files (in case systemd-
       networkd.service(8) is used), the per-link dynamic settings received
       over DHCP, user request made via resolvectl(1), and any DNS server
       information made available by other system services. See
       resolved.conf(5) and systemd.network(5) for details about systemd's own
       configuration files for DNS servers. To improve compatibility,
       /etc/resolv.conf is read in order to discover configured system DNS
       servers, but only if it is not a symlink to
       /run/systemd/resolve/stub-resolv.conf, /usr/lib/systemd/resolv.conf or
       /run/systemd/resolve/resolv.conf (see below).

这里说DNS servers是在全局配置文件/etc/systemd/resolved.conf中确定的,因此我们需要区修改/etc/systemd/resolved.conf中的信息。终端输入

sudo gedit /etc/systemd/resolved.conf

修改DNS=8.8.8.8

 Ubuntu 设置无线 wifi 的静态 IP_第6张图片

  保存并退出。然后在终端输入

sudo systemctl restart systemd-resolved
sudo systemctl enable systemd-resolved
 
sudo mv /etc/resolv.conf  /etc/resolv.conf.bak
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

再查看 /etc/resolv.conf 文件就可以看到新的DNS信息已经写入其中了,接下来再使用就不会被重置。

你可能感兴趣的:(Ubuntu,网络,ubuntu)