You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04 LTS笔记本配置无线接入点的技术咨询(USB共享上网+多设备联网+SSH访问)

Ubuntu 22.04 LTS笔记本配置无线接入点的技术咨询(USB共享上网+多设备联网+SSH访问)

嘿,我来帮你搞定这个配置!你的需求很清晰:用老笔记本当中间节点,一边通过USB共享手机的网络,一边开WiFi热点给工作PC,同时接以太网设备,还要保证工作PC既能上网又能访问以太网设备,还能SSH进笔记本。下面是一步步的实操方案,都是亲测有效的:

第一步:先确认硬件和基础连接没问题

  • 首先得确保你的笔记本WiFi网卡支持AP模式:打开终端敲iw list,翻一翻输出内容,找supported interface modes下面有没有AP字样,有就说明能当热点,没有的话可能得换个网卡或者用USB WiFi适配器。
  • 把手机用USB线插笔记本上,在手机里开启USB共享网络(不同品牌手机位置不一样,一般在“网络和互联网”或者“热点和共享”里)。这时候笔记本应该会自动识别出一个新的网络接口,你可以敲ip addr看看,比如叫usb0或者enp0s20u1这类,只要它有IP地址,就说明USB共享已经连上了。

第二步:创建WiFi热点(用图形界面最省事)

Ubuntu 22.04用Network Manager管理网络,直接图形界面就能搞:

  • 点右上角的网络图标,选“设置”进网络配置界面。
  • 左边菜单选“WiFi”,然后点右上角的“热点”按钮。
  • 给热点起个名字(SSID),设个至少8位的密码(选WPA2-PSK模式,兼容性最好),点“创建”就行。这时候你的笔记本WiFi就变成热点了,工作PC搜一下就能连上。

第三步:配置网络转发(核心!让流量能转起来)

这一步是让笔记本把手机来的网转发给WiFi和以太网设备,得搞点命令行操作:

  1. 先开IP转发:

    sudo sysctl -w net.ipv4.ip_forward=1
    

    要让重启后这个设置还生效,就编辑/etc/sysctl.conf文件,找到net.ipv4.ip_forward=1这行,把前面的#删掉,保存退出就行。

  2. 设置防火墙转发规则:
    这里要注意你的接口名称,先用ip addr确认:USB接口(比如usb0)、WiFi热点接口(比如wlan0)、以太网接口(比如eth0)。然后敲这些命令:

    sudo iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE
    sudo iptables -A FORWARD -i usb0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i wlan0 -o usb0 -j ACCEPT
    sudo iptables -A FORWARD -i usb0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i eth0 -o usb0 -j ACCEPT
    

    怕重启后规则丢了?装个iptables-persistent

    sudo apt install iptables-persistent
    

    安装的时候会问你要不要保存当前规则,选“是”就OK。

第四步:让局域网里的设备互通(工作PC访问以太网设备)

默认情况下,WiFi热点和以太网接口可能不在同一个网段,得调一下静态IP:

  • 回到网络设置,找到WiFi热点的配置,把IP改成静态的,比如192.168.4.1,子网掩码255.255.255.0
  • 再找以太网接口的配置,同样设静态IP,比如192.168.4.2,子网掩码255.255.255.0,网关填192.168.4.1
  • 以太网设备那边也要设同网段的静态IP,比如192.168.4.3,网关填192.168.4.1,DNS可以设成手机的DNS或者公共的(比如8.8.8.8)。

这样工作PC连WiFi后会分到192.168.4.x的IP,直接ping以太网设备的192.168.4.3就能通了。

第五步:开启SSH访问(让工作PC能远程控笔记本)

先装SSH服务:

sudo apt install openssh-server

装完之后服务会自动启动,你可以敲systemctl status ssh看看是不是active状态。

工作PC那边打开终端,用笔记本的WiFi热点IP(比如192.168.4.1)来连:

ssh 你的笔记本用户名@192.168.4.1

输密码就能登录了。要是想更安全,后续可以搞密钥登录,不过基础的密码登录已经够用。

最后来个全面测试

  • 工作PC连WiFi后开浏览器,试试能不能上网,确认USB的网转过来了。
  • 工作PC ping以太网设备的IP,看能不能通。
  • 工作PC SSH进笔记本,确认连接正常。
  • 以太网设备也ping一下8.8.8.8,看看能不能上网,不行就检查网关和DNS。

备注:内容来源于stack exchange,提问作者Alessandro Bertulli

火山引擎 最新活动