Ubuntu下网络问题一般解决方法

在Ubuntu做开发的时候经常会出现各种可恶的网络问题,本文以Github、ROS为例列举了一些常用的解决方法。

改host

一般没用~

原理

由于CDN分发的不合理或者地区性的不平衡,导致地址被解析到不合适的主机,使得连接状态拉跨。

步骤

用浏览器访问 IPAddress.com 使用 IP Lookup 工具获得 github.com 的ip地址。

sudo nano /etc/hosts

添加如下内容。

xxx.xxx.xxx.xxx(查到的ip) github.com

保存并退出。

更新DNS缓存。

sudo /etc/init.d/networking restart

搞定!

换源

适用于大多数富强、民主、文明、和谐;自由、平等、公正、法治;爱国、敬业、诚信、友善的网络环境。

原理

Ubuntu下更新、安装软件是从指定的源下载的,如果没有设置合适的源,就很有可能网速奇慢或者连接超时。

步骤

  • 对于普通的软件,需要更改的是/etc/apt/sources.list

百度对应版本Ubuntu的源镜像地址,并修改上述文件。

sudo nano /etc/apt/sources.list

原本的可以删了,留下新的就可。例如阿里云、Ubuntu 18.04 LTS的源如下:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

然后正常更新、安装软件就好。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
  • 对于其他一些有自己的源的软件,则需要修改/etc/apt/sources.list.d文件夹下面对应的文件

以安装ROS为例,需要修改的是/etc/apt/sources.list.d/ros-latest.list

在软件的支持网站(如ROS wiki)上找到源镜像地址,并将文件中的地址替换成合适的地址即可。

有时候会给出快捷指令,直接复制黏贴到命令行执行就能完成修改。

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

搞定!

代理

一般能解决问题,但是麻烦。

原理

众所周知。

步骤

安装代理软件(例如V2ray)。

具体安装步骤参见下面一条帖子。

Qv2ray安装使用

注:在这里会存在一个问题。v2ray core本身是需要正确的姿势才能下载到的,所以最开始姿势不对的时候就不能下载,继而姿势就对不了,形成一个死循环。解决方法就是找姿势正确的人(比如说我)帮忙下载一下。

关于节点参数,因为关系到搞VPS、安装代理软件服务端、配置单、双边加速等一大堆破事,这里直接找我要一个分享链接导入到软件中就可。

正确设置好系统代理之后只能代理桌面应用的流量,终端里面的命令则使不了。解决方法就是整一个chainproxys-ng,详见下文。

注:在Ubuntu 18.04及之后的版本桌面设置的代理已经可以代理终端的流量。

chainproxys-ng:在服务器/终端也能使用代理

其中监听端口可以在代理软件的设置界面找到。

搞定!

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据