手机设置
根据具体手机,我这里是 pixel2 ,打开 设置 -> 网络与互联网 -> 热点与网络共享 -> USB共享网络设置
模块设置
要使用 USB 共享网络,必要模块如下, rndis_host
cdc_ether
usbnet
使用如下命令查看即可,不够一般都是预装好的
lsmod | grep rndis
lsmod | grep cdc
lsmod | grep usb
查看网卡
使用
ip addr show
如果 ip 命令不存在,使用
sudo pacman -S iproute2
下载,ip 命令是 iproute2 软件包中的一个
一般会出现一个 enp0s 开头的网卡,我这里是 enp0s20f0u11
设置 ip
使用
ip addr show
命令可以查看 IP, 我们可以看到 enp0s20f0u11
这张网卡是没有 ip 的
我们可以使用 dhclient
命令自动设置 ip,如下
sudo pacman -S dhclient
dhclient enp0s20f0u11
如果报出 无法修改一个只读文件
的 error, 可以使用
sudo chmod a+w /etc/resolv.conf
命令来修改文件权限
如果报出 Operation not permitted
的 error, 这是因为 /etc/resolv.conf 这个文件被 chattr 命令锁定了,这个命令可以让 root 用户也无法修改,可以使用
ls -l /etc/resolv.conf
命令查看,如果出现 i 属性,那么就是被锁定了,可以使用
sudo chattr -i /etc/resolv.conf
命令去掉 i 属性,然后继续使用
dhclient enp0s20f0u11
命令获取 ip
然后使用
ip addr show
命令查看是否获取了 ip
最后使用
ping z.cn
命令测试是否可以使用网络
最后虽然 dhclient 命令可以获取 ip, 但是它会把 DNS 修改为只有这张网卡的服务器,虽然有备份文件,但需要我们每次都修改也比较麻烦,故我们可以直接修改 DNS
sudo vim /etc/resolv.conf
输入
nameserver 192.168.42.129
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 198.153.192.1
nameserver 198.153.194.1
nameserver 208.67.222.222
nameserver 208.67.220.220
以后就可以自动获取 ip 了
但是如果使用 dhcpcd 的话,没吃重新连接网络都会重新生成 DNS, 这显然很讨厌,我们可以再次使用 chattr 命令为其修改权限
sudo chattr +i /etc/resolv.conf
这样就大功告成了