作者:朱金灿
来源:clever101的专栏
目前有这样一个场景:ubuntu系统装在一个嵌入式设备上,嵌入式设备只有一个网口,现在你手头有一台装有windows10系统的笔记本电脑,可以通过手机开热点来让笔记本电脑来上网,周围没有可以插入网线的有线网络,也没有路由器或交换机之类的,现在要求你用一根网线将装有ubuntu系统的嵌入式设备和笔记本电脑连接,实现嵌入式设备能够上网,请问如何做?开始我设置笔记本电脑的windows网络共享网络(Internet连接共享),不行,我估计是分享不了给linux系统(或者是需要路由器或者交换机之类的)。通过综合多个AI的答案,我找到了解决办法——笔记本电脑充当嵌入式设备的上网代理服务器。具体做法如下:
一、在笔记本电脑上安装代理软件
使用第三方代理服务器软件(如CCProxy)。下载并安装CCProxy,下载地址:
CCProxy下载
配置CCProxy,具体是启动CCProxy,进入“设置”或“选项”。在“代理服务”中启用HTTP、HTTPS、FTP等协议。在“账号管理”中添加允许所有机器通过。
二、在Ubuntu上配置代理
可以有两种配置方式:
图形界面设置
具体是进入“设置” -> “网络” -> “网络代理”。
配置代理:选择“手动”,输入Windows机器的IP地址和CCProxy中设置的端口号(默认HTTP为8080,HTTPS为8080,FTP为21)。:
命令行配置
打开终端,编辑/etc/environment文件:
sudo vim /etc/environment
添加以下内容:
# 192.168.123.100为我的win10笔记本电脑的IP
http_proxy="http://192.168.123.100:8080/"
https_proxy="http://192.168.123.100:8080/"
ftp_proxy="http://192.168.123.100:21/"
no_proxy="localhost,127.0.0.1"
保存并退出,然后运行:
source /etc/environment
三、测试
在ubuntu上打开浏览器或使用curl命令访问外部网站,确认代理上网是否生效。
四、遇到问题
运行sudo apt update命令出现错误:Certificate verification failed: The certificate is NOT trusted. The certificate chain uses not yet valid certificate. Could not handshake: Error in the certificate verification. [IP: 192.168.123.100 8080]
这个错误信息表明ubuntu机器在通过代理服务器上网时,遇到了证书验证失败的问题。具体来说,证书链中使用了尚未生效的证书。这个问题通常是由于代理服务器使用的证书不被客户端信任或者证书时间设置不正确导致的。
解决办法是输入date命令检查ubuntu系统的系统是否是当前时间,如果不是就修改为当前时间,具体是:
# 假设当前时间为2025-02-10 17:05:00
sudo date -s "2025-02-10 17:05:00"