使用ubuntu(18.04) 作为软路由器连接互联网

背景:
最近要用ubuntu机器作为中继路由,需要配置一下,但是内网外网网上找了一圈,五花八门的,照着做没有一个靠谱的,遇到的问题也没有任何说明,遂写一篇教程以记录一下

功能说明:

简单来说,就是用其他机器的网络上互联网, 比如可以用其他机器的wifi上网等等场景

示意图:

网上都先说要配什么静态ip地址, 要什么netplan, 什么network/interface , 都是把简单问题复杂话了,我用的都是ubuntu,我是有桌面的好么,为啥不直接在桌面上操作呢,配置这种东西,写错一个字符就不能用的,还有yaml的配置,缩进错了也不对,简直太不靠谱了,

ubuntu18 网络配置

wifi连接互联网

根本不需要配置,你能联网就行,ip地址只要找到地方能看就行,界面上wifi连接那里直接可以看到所有信息,但是这个信息全程根本不需要

配置作为软路由的网卡

配置这个是重中之重,首先,自己确定一个可以用的网段,如果没什么特殊情况 就用1网段,比如192.168.1.3 。
那么就开始配置

打开配置,配置,我这里写的是192.168.1.77, 网关和dns都不用配

好了,网卡就算是配完了

开启路由转发

编辑 /etc/sysctl.conf 文件, 开放下面这句注释

然后执行

sudo sysctl -p

使其生效

配置路由转发

我的ubuntu18机器的网卡名如下:
上互联网的无线网卡: wlo1
作为路由转发的有线网卡: enp1s0

执行一下指令, 把你的网卡对应修改一下

sudo iptables -A FORWARD -i enp1s0 -o wlo1 -j ACCEPT
sudo iptables -A FORWARD -i wlo1 -o enp1s0 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o wlo1 -j MASQUERADE

到这里, 软路由就已经启动好了,剩下来的就是联网使用了

使用软路由功能的普通PC配置

ip配置没有太复杂,只需要选择同样一个1网段的地址, 比如我这里使用的是192.168.1.81
我的网络配置如下:


这里最重要的一点,也是其他地方都很少提到的一点, 就是用软路由上网的这台PC, 他的网关应该填,ubuntu18软路由那台设备的有线网卡的ip地址,否则是不行的

剩下就是可以直接上网了

测试方法

主要还是靠ping,

1.第一步是,两边IP设置好之后, 用软路由上网的PC,先要ping通 软路由ubuntu18的有线网卡192.168.1.77地址,否则是不对的

2. 配置好命令之后, 用软路由上网的PC ,应该可以ping通 ubuntu18上无线网卡的IP,192.168.39.10, 否则是不对的

3. 先用可以上网的ubuntu18 ,ping一下百度, www.baidu.com 或者其他网站,得到该网站是外网IP地址, 我这里的到的是180.101.49.12, 因为这里如果直接ping 百度网址,可能会得不到响应,这有可能是利用软路由上网的PC,没有配置正确的DNS,导致域名解析失败的错误,而不是机器本身不能上网,

4.在用软路由上网的pc上, ping 百度域名 www.baidu.com

这代表你已经可以连上互联网了,正常使用了

IP自动分配

这个可以照抄 这位吾将上下而求索丶博主的内容, 实测有效

但是我还是自己写一下
1.安装 isc-dhcp-server

sudo apt-get install isc-dhcp-server

3.配置, 编辑 /etc/default/isc-dhcp-server文件

这里上两个红框都只要开放注释就行,就是把#号去掉,最后的红框则是指定要开启IP地址自动分配的网卡, 这个就是我的有线网卡的名称:enp1s0

然后保存

  1. 配置 /etc/dhcp/dhcpd.conf 文件
    这里主要是配置DHCP的策略,就是自动分配ip的策略
    这个地方需要好好解释一下
    我的配置文件如下:

    为了避免写错,就把上面那个subnet 的一整项copy下来, 去掉#号,然后改信息就行
    注释:
subnet 192.168.1.0 netmask 255.255.255.0 {           #192.168.1.0 这个是网段, 而不是IP地址, 192.168.**.0就行range 192.168.1.70 192.168.1.90;                           #分配IP地址的区段, 这个随便填,我这里设置了20个ip地址option domain-name-servers 192.168.16.202;         #这个是DNS地址, 我这个是自己的dns地址,#这个应该从上网的wifi网卡的信息dns地址那里抄过来
#  option domain-name "internal.example.org";option subnet-mask 255.255.255.0;                        option routers 192.168.1.77;                                    #这个最重要 ,填有线网卡的静态IP地址option broadcast-address 192.168.1.255;default-lease-time 600;max-lease-time 7200;
}

保存

重启服务

 sudo service isc-dhcp-server restart

然后重启ubuntu18 上作为软路由的有线网卡

然后利用软路由上网的PC上设置成IP自动获取


然后重启软路由上网的PC 的网卡
然后就看到IP信息已经自动获取到了

注意,这里我试了好几次都不行, 都是配置文件写错了,然后还有重启服务重启网卡什么的不知道先后顺序, 保险起见,改完直接重启系统

开机自启动

开机自启动主要三个点

1.开机自启路由转发
这个 /etc/sysctl.conf文件修改完就自己会开机开启路由转发了,不用操作

2.开机自启动网卡转发
安装 iptables-persistent

sudo apt-get install iptables-persistent

安装过程中就会提示你是不是要保存当前IPv4和IPV6的配置,都选yes就行了,直接就保存了

也可以手动将ip规则追加到rules.v4中:

iptables-save > /etc/iptables/rules.v4
  1. 开机自启IP自动分配
    这个本身就是一个service, 不用管

到此,就完整实现了ubuntu系统作为软路由的所有配置了,踩完坑了,记录备忘

使用ubuntu(18.04) 作为软路由器连接互联网相关推荐

  1. Ubuntu 18.04 蓝牙不自动连接且不稳定解决

    Ubuntu 18.04 蓝牙不自动连接且不稳定解决 ubuntu 18.04连接蓝牙鼠标或键盘,系统重启后不自动连接,甚至出现无法再次连接的情况,即使删除重新适配连接也连接不上 写在最后 解决的关键 ...

  2. linux蓝牙鼠标自动断开,在Ubuntu 18.04系统中蓝牙鼠标连接失败问题的解决

    如果你在Ubuntu 18.04操作系统中有蓝牙鼠标连接失败问题,那就参考下面的解决方法处理. 解决方法 首先在系统终端下输入: bluetoothctl 然后输入: list 看清除 Control ...

  3. ubuntu 18.04 配置notebook远程连接的坑

    jupyter-notebook的安装不在此说明 在网上搜了很多方案都不行,好不容易从坑里爬出来 以下为远程连接配置方法 1.生成配置文件 1 jupyter notebook --generate- ...

  4. 蓝牙鼠标windows linux,解决Ubuntu 18.04与Windows 10双系统蓝牙鼠标连接的问题

    在电脑上安装了Ubuntu 18.04与Windows 10双系统,在蓝牙鼠标连接上匹配双系统很麻烦,主要表现为蓝牙鼠标连接一个操作系统之后再重启到另一个操作系统就需要把鼠标删掉重新连接,很是麻烦,不 ...

  5. ubuntu 启动图形界面命令_Windows 10 远程连接 Ubuntu 18.04 Server图形界面

    目录  0. 环境信息和说明 Ubuntu 18.04上安装xrdp远程ubuntu-desktop桌面服务 Ubuntu 18.04上安装xrdp远程Xfce桌面服务 Ubuntu 18.04上安装 ...

  6. Ubuntu 18.04 安装 mysql 并且设置远程可登陆连接

    Ubuntu18.04 安装MySQL 环境信息:  OS:Ubuntu18.04  MySQL: 5.7.25-0ubuntu0.18.04.2 1.安装MySQL 在 Ubuntu 18.04 中 ...

  7. windows 10远程连接ubuntu 18.04 Gnome桌面:NoMachine工具使用详解

    文章目录 Gnome桌面环境 NoMachine工具 实际操作 Ubuntu操作 Windows操作 远程连接设置 总结 做为系统管理员,远程连接到各种服务器算是常规操作.如果本地是windows环境 ...

  8. 乌班图LINUX如何用SHELL链接,Xshell连接本地虚拟机Ubuntu 18.04的方法

    本地安装了虚拟机,网络选择的是桥接网络,想通过Xshell连接上去,结果无法连接,寻找资料后发现Ubuntu 18.04没有安装ssh,其实Ubuntu系统多数默认情况下并没有安装ssh服务,如果通过 ...

  9. pycharm ubuntu 安装_Nvidia Jetson Xavier 安装配置(ubuntu 18.04)

    0. 简介 Xavier 硬件配置 开发板 Interfaces 1. 刷机 刷机准备: Xavier 通过 USB 与主机(host,装有 ubuntu 的电脑)连接: Xavier 通过网线主机连 ...

最新文章

  1. R语言使用比例-位置图(Scale-Location Plot)和Breusch-Pagan检验验证回归模型残差的同方差性(方差齐性)
  2. 2018五大人工智能趋势,你知道多少?
  3. 10.25 es问题
  4. 放大器非线性失真研究装置设计报告_走进自动化 | 本科生科技论文报告会圆满结束...
  5. window系统 telnet报错:‘telnet‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  6. Redis发布订阅机制
  7. vb登录ftp服务器并打开文档,VB.Net实现登陆Ftp的方法
  8. 深度学习caffe:权值初始化
  9. 易筋SpringBoot 2.1 | 第三十一篇:SpringBoot Reactor响应式编程实战一
  10. android studio深色模式,Xamarin 中的深色模式
  11. 人工智能机器学习数据挖掘重要会议日期
  12. 腾达n6路由器虚拟服务器设置,腾达n6路由器怎么设置带宽控制
  13. gdb调试查看内存数据
  14. C++中在堆区用new开辟空间
  15. HTML5中如何实现rpx布局
  16. VUE—下载安装并使用mint ui(图文详情)
  17. python数据分析及可视化(九)pandas数据规整(分组聚合、数据透视表、时间序列、数据分析流程)
  18. PyTorch-17 使用TorchText进行文本分类
  19. “远程办公”用户达3.46亿,一年每人可节省1.4万
  20. P1498 南蛮图腾

热门文章

  1. 【转】Flask安装
  2. mybatis 使用resultMap实现数据库的操作
  3. [转]cocos2d-x
  4. Tile Racer — 3D 赛车游戏
  5. 信号量,互斥锁,条件变量的联系与区别
  6. usaco Factorials
  7. sqlmap使用_sqlmap从入门到精通第四章47使用EW代理导出和导入MSSQL数据
  8. 24核服务器配什么系统,24核服务器
  9. rdd与mysql表 join_6、JdbcRDD读取mysql的数据
  10. linux 程序包 permission denied,Linux 执行程序 报错误:Permission denied.