1  硬件基础

首先,需要具备的硬件条件是一台具有两个或两个以上网卡的Ubuntu设备,常见的比如一些软路由设备,常规主机一般只有主板上自带的一个网卡,笔记本一般有一个无线网卡以及一个有线网卡。如果当前设备网卡不够,可以购买USB网卡或者PCIe网卡来进行配置。我使用的是一个系统为Ubuntu14.04六网卡设备

2  网络环境

在配置交换机前需要明确当前网络环境,最重要的就是需不需要拨号上网。举个例子,假设我们需要配置的Ubuntu路由器可以通过连到另一台路由器直接上网,那么就可以省去拨号这一步。我这边的环境需要通过VPN拨号上网,因此需要先安装相应的VPN软件包以及拨号器。

3  Ubuntu路由器联网

上一步提到如果有其他路由器可以直接上网,那么将ubuntu路由器连接到可以上网的路由器即可。若需要VPN拨号,以浙大VPN为例,它使用xl2tp协议,需要先安装两个包。

sudo apt install xl2tpd
sudo apt install ppp

安装完成后,下载相应的拨号器,可在网上搜索对应VPN使用的拨号器,我这边使用了98论坛中的一个Linux VPN拨号器。

sudo vpn-connect -c        //设置账号密码
sudo vpn-connect           //VPN拨号
sudo vpn-connect -d        //断开VPN

我连接到了"eth0"网卡,设置好静态IP、子网掩码、网关、DNS服务器后(下一步会说),通过VPN拨号器上网,因此我此时连接外网的网卡(作为WAN口)为"eht0"。(通过ifconfig命令可查看当前设备所有网卡,有些名字不一定是ethx这种格式的)

4  网络配置

刚刚连接的WAN口以及内网的LAN口需要配置为静态IP,此处我将eth5设置为内网的网卡。

sudo vim /etc/network/interfaces

在该文件中添加

auto eth0
iface eth0 inet static
address 10.14.113.234
netmask 255.255.255.0
gateway 10.14.113.1auto eth5
iface eth5 inet static
address 192.168.20.1
netmask 255.255.255.0
gateway 192.168.20.1

配置好静态IP、子网掩码、网关地址后,需要设置DNS服务器地址(普通网络的DNS服务器可从网上搜索,例如8.8.8.8等)。网上很多设置DNS服务器的方法是在/etc/resolv.conf文件中添加DNS服务器地址,但是直接修改这个文件虽然当时有用,但是重启后又会被覆盖掉,搜索了一些资料后发现需要修改/etc/resolvconf/resolv.conf.d/base这个文件,当时我找半天发现根本没有resolv.conf.d这个文件夹,更别说base这个文件了,这是因为没有安装resolvconf软件包,如果安装完以后还没有这个文件以及文件夹,直接手动创建即可

sudo apt install resolvconf
sudo vim /etc/resolvconf/resolv.conf.d/base

在这个文件中添加DNS服务器(可添加多个),不同区域用的DNS服务器不同,可以通过DNS选优软件选择最佳DNS服务器,我这边用的DNS服务器是固定的。DNS服务器的功能就是解析域名,如将www.baidu.com解析为IP地址,如果后面发现可以通过ip地址访问外网却不能通过域名访问外网,说明DNS服务器设置有问题。

nameserver 10.10.0.21

保存base文件后执行以下语句

resolvconf -u

重启网络使修改生效

sudo /etc/init.d/networking restart

5  启用IP包转发

sudo vim /etc/sysctl.conf

打开文件后将net.ipv4.ip_forward=1前面的注释去掉(vim打开文件后可输入/net.ipv4.ip_forward查找该语句位置)。然后返回terminal,输入以下命令使修改生效

sudo sysctl -p

6  添加路由表

sudo route add -net 192.168.20.0 netmask 255.255.255.0 dev eth5
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth5 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth5 -j ACCEPT

第一句话是给eth5添加192.168.20.x网段的路由表,下面两句话是启用eth0和ppp的nat功能,因为网上很多教程没有vpn,所以不需要添加ppp的nat功能,当使用vpn连接时就需要添加,没添加的话eth5下面带的主机就没法上网。最后两句话是将eth0与eth5关联起来。

由于系统重启后上面很多指令可能会失效,因此可以在指令最上方加上VPN连接指令sudo vpn-connect,然后写成一个.sh脚本文件,并将其设置为开机启动即可。

7  Ubuntu路由器下的主机

由于上面我没有在ubuntu路由器中添加DHCP服务器,所以它没办法给下面的主机分配IP地址,需要下面的主机设置静态IP地址,设置为192.168.20.X即可,另外该主机也需要添加DNS服务器,操作都跟第四步一样。配置完重启网络或系统后即可上网。

可能有人会问那eth5不是只有一个网口吗,怎么给多个主机同时上网呢?可以使用交换机,将eth5与需要上网的主机连接到同交换机上即可供多个主机上网。独立网卡都只能在各自的网段运作吗?不是的,可以通过bridge功能将其配置在同一网段,最终达到路由器效果。详情可参考: 如何将ubuntu配置为路由器(二)

如何将ubuntu配置为路由器相关推荐

  1. 如何将ubuntu配置为路由器(二)

    上次文章链接:如何将ubuntu配置为路由器 上次说到将具有六个独立网卡的软交换机通过NAT的方式实现了一个网卡与另一个网卡跨网段上网功能,那么有没有一种方法,能让其中一个口作为wan口,其他网口作为 ...

  2. 将ubuntu配置为路由器_“名酒为王”时代来临但资源将尽,看泸州老窖如何进行“名酒资源再配置”丨深度观察...

    文丨酒业家主笔 彭伟 冲刺300亿,重回前三甲. 泸州老窖作为四大名酒之一,连续蝉联五届国家名酒,在全国范围的消费者中构建了极其深远的品牌影响力.因此,才会有泸州老窖股份有限公司党委书记.董事长刘淼在 ...

  3. Ubuntu下配置D-Link路由器进行联网

    本人使用D-link路由器进行两台电脑的共享上网,在windows下直接输入http://192.168.0.1后打开路由器设置界面,输入用户名,密码后即可实现主机的上网,但在Ubuntu下则要复杂一 ...

  4. # Ubuntu 配置自带vnc桌面共享

    Ubuntu 配置自带桌面共享 1.在setting>>shareing>>remote 选择on 如果用ubunutu直接远程连接的话已经可以了, 2.在ubuntu下使用系 ...

  5. Ubuntu 配置 Android 开发 环境

    . 果断换Ubuntu了, Ubuntu的截图效果不好, 不能设置阴影 ... 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article ...

  6. Packet Tracer 5.0配置cisco路由器详细说明

      花费了几天的时间写了这篇博文,关于配置cisco路由器的命令在教程上都写的比较清楚,可是好多命令记住了未必能够得心应手的运用于企业的实际网络中,我在这篇博文了介绍了运用终端设备如何登录到cisco ...

  7. 深入讲解配置Cisco路由器日志中的速率限制问题(三)

    深入讲解配置Cisco路由器日志中的速率限制问题(三) 首先熟悉Cisco路由器日志中的日期和时间戳,在它们发生的时候是很有用的.再接下来的内容中,我们将要详细地讲述序列号和速率限制方面的专业知识. ...

  8. 远程重启h3c路由器_【一号机房】教你怎么配置H3C路由器NAT及远程telnet

    怎么登陆H3C路由器的方法: 使用H3C自带的Console线连接到路由器的Console口,连接完成后,按以上两步连接到H3C路由器上去. 1.点击开始>程序>附件>通讯>超 ...

  9. ubuntu 配置网络

    Ubuntu配置和修改IP地址 1.修改配置文件/etc/network/interfaces root@ubuntu:~# sudo gedit /etc/network/interfaces 添加 ...

最新文章

  1. springboot redis配置
  2. ALV动态列Demo
  3. RabbitMQ的TTL+死信队列 看完这篇包会!!!
  4. SQL注入法攻击一日通
  5. esd防护_电路级ESD防护方法
  6. 插件设置修改失败_【王者荣耀金牌特权】详细技术设置教程,更新异常解决办法...
  7. gcc编译出现:error: dereferencing pointer to incomplete type
  8. Android中文乱码彻底解决
  9. 31. Minimize compilation dependencies between files
  10. oracle 字符串等于,ORACLE in (字符串,字符串,字符串)
  11. guided Filter--引导滤波算法原理及实现
  12. 性能可靠服务器虚拟化,服务器虚拟化分析
  13. android 二进制编辑器,二进制编辑器 (c + +)
  14. Android color颜色-色号总结
  15. 参数方程绘制球面、椭球面、环面_OpenGL
  16. 初学者应从文件目录结构理解import的过程,并创建自已的代码库
  17. 摸爬滚打DirectX11_day02——VS2010+DirectX11的环境配置
  18. 第二届春回燕归 浙籍精英峰会见闻
  19. redis链接不上,报保护模式
  20. 《武魂》物理引擎特效全解析

热门文章

  1. 从华科到清华这些年,我和焦虑成为朋友
  2. 基于BP 网络分类器的交通标志识别
  3. 经典好文!java实现在线编辑
  4. 在疫情期间微分销商城如何运营
  5. 关于谷歌浏览器不能用flash插件的问题
  6. 1. Pandas 导入导出数据
  7. Mongoose初使用总结
  8. 千岛湖-印象中的天堂游记
  9. 前端 100 问:你会多少?
  10. 论文笔记_SIGGRAPH2019会前课程:An Introduction to Physics-Based Animation_1