开发面试题 intellij idea下载 Transformer shiny concurrency enums tree Echojs 网站后台管理模板 git视频 jquery each jquery遍历子元素 bootstrap模态框传参 mysql删除一列 ab软启动器 oracle时间格式化 div字体加粗 单片机开发板工作原理 python内置库 python条件判断 python命令大全 java8特性 java中的多态 java集合框架 java基础类型 java接口文档 java的集合框架 java安装配置 java字符串匹配 sql语句大全实例教程 groupby python输入数字 java疯狂讲义 系统维护工具 淘宝自动发货软件 模拟人生2夜生活 python图片处理 grep正则表达式 vue动态路由 python进制转换
当前位置: 首页 > 学习教程  > 编程语言

ROS 5.24软路由系统安装部署联网参考教程(ISO版)

2020/12/28 19:12:36 文章标签:

文章目录一、背景二、环境配置三、VMware配置3.1 虚拟网卡设置3.2 虚拟机网卡设置四、虚拟机安装ISO版ROS 5.24系统五、winbox配置ROS5.1 winbox远程连接ROS5.2 ROS初始化配置(1)区分WAN口LAN口并配置网卡名字(2)配置网卡IP及子网…

文章目录

  • 一、背景
  • 二、环境配置
  • 三、VMware配置
    • 3.1 虚拟网卡设置
    • 3.2 虚拟机网卡设置
  • 四、虚拟机安装ISO版ROS 5.24系统
  • 五、winbox配置ROS
    • 5.1 winbox远程连接ROS
    • 5.2 ROS初始化配置
      • (1)区分WAN口LAN口并配置网卡名字
      • (2)配置网卡IP及子网掩码
      • (3)配置网关
      • (4)配置DHCP
        • ① 添加DHCP地址池
        • ② 配置DHCP服务参数
        • ③ 测试DHCP
      • (5)配置全局伪装
      • (6)配置限速策略
      • (7)整体测试
        • ① 测试是否正常上网
        • ② 测试限速情况

一、背景

公司使用的办公网是交换机连接了三个AP组成的,使用一个C类网段,随着人越来越多,设备也越来越多,一个C类网段的IP不够用了,经常会出现有人连接上WIFI但是因为IP池耗尽,DHCP无法分配IP,导致设备无法访问网络的情况。因为其他一些原因,也没法多分一个网段给办公网。我们申请购买一台企业级路由器,由路由器分一个子网出来,再连接AP,上报后回复是机房有几台闲置服务器,部署一个软路由吧。于是任务落在了还是个小萌新的我身上。
一开始想选择OpenWrt系统,我们组长提供了ROS系统的镜像,于是转而使用这个,但是这个系统对于只玩过一次海蜘蛛的小白(比如我)来说确实比较复杂,折腾了一个多星期,踩坑碰壁无数,终于搞定。
部署过程中怎么找都没找到一个无坑完整的ROS部署教程,都是这个抄那个,那个抄另一个,还有很多抄漏的错误,决定自己写一份教程,作为自己一个多星期心血的记录,也希望能帮到后面的人。

二、环境配置

实际部署时不方便截图等操作,所以现在开个虚拟机来模拟一下。
虚拟机软件:VMware 15.5
ROS版本:5.24 ISO版
测试机:ROS-test -A:192.168.20.x (DHCP)
ROS-test -B:192.168.20.x (DHCP)
winbox:winboxx64
网络配置:
在这里插入图片描述
使用VMnet8和VMnet9两张虚拟网卡分别模拟软路由的WAN口网卡和LAN口网卡。
VMnet8使用NAT模式(桥接也可以,注意网卡的子网IP)连接物理主机外网,软路由WAN口连接VMnet8网卡,WAN口IP设置为:192.168.10.254。
VMnet9使用“仅主机模式”,两台Linux测试机连接VMnet9虚拟网卡,模拟实际中连接软路由LAN口的设备,ifcfg-ens33配置文件中设置好BOOTPROTO=DHCP等参数,软路由LAN口连接VMnet9网卡,LAN口IP设置为:192.168.20.254。

三、VMware配置

3.1 虚拟网卡设置

VMnet8一般自带的有,再新增一个VMnet9虚拟网卡就可以了,然后设置好子网掩码等即可。注意取消勾选“使用本地DHCP服务将IP地址分配给虚拟机”,我们的WAN口会配置静态IP,软路由设置好后也会自动使用自己的DHCP功能给连接LAN口的设备分配IP。
在这里插入图片描述
在这里插入图片描述

3.2 虚拟机网卡设置

一共需要三台虚拟机,一台ROS,两台Linux。按上面的网络环境配置配好对应的网卡。
(1)ROS,需要额外添加一张网卡:在这里插入图片描述
在这里插入图片描述
(2)CentOS-7.2 -A:
在这里插入图片描述
(3)CentOS-7.2 -B:
在这里插入图片描述
好了,现在进入正片。

四、虚拟机安装ISO版ROS 5.24系统

(1) 选择“新建自定义(高级)虚拟机”
在这里插入图片描述
(2)选择“稍后安装操作系统”
在这里插入图片描述
(3)选择虚拟机系统版本
在这里插入图片描述
(4)设置虚拟机名称及路径
在这里插入图片描述
(5)1C1G配置足够了,网络选择“NAT模式”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(6)SCSI控制器选它推荐的,注意虚拟磁盘类型选择IDE,不然ROS不支持。
在这里插入图片描述
(7)后续按正常虚拟机配置就可以了。
(8)添加ROS虚拟机的网卡
① 单击“编辑虚拟机设置”
在这里插入图片描述
② 添加配置网络适配器
在这里插入图片描述
在这里插入图片描述
③ 选择系统镜像
在这里插入图片描述
④ 开机,开始安装系统
开机后会让你选择安装什么组件,在不清楚每个都是干什么的之前,建议“A”全选后“I”安装。
在这里插入图片描述

然后会问你“y/n”,都选“y”就行了。
在这里插入图片描述
安装完毕后按回车重启系统,重启好了后就安装成功了。
在这里插入图片描述
⑤ Linux测试机的虚拟机安装就不写了,毕竟只是虚拟机模拟实际操作,而且大家应该也都会,不会的网上也大把教程。

五、winbox配置ROS

5.1 winbox远程连接ROS

① 实际操作中需要把软路由和自己的电脑接在同一个网络里,直接网线直连更好,然后用winbox连接。
② 单击winbox的搜索按钮,它会自动搜索局域网中的ROS主机,然后我们选择MAC地址连接,因为还没有配置IP,选IP是连不上的。
在这里插入图片描述
如果两个MAC地址都连不上(比如我写这篇教程的时候,我也是新手小白,不知道为啥连不上,有大佬愿意指教的话请评论区指点一下,谢谢),我们可以先直连ROS用命令行配置IP,然后用IP连接。
③ 命令行配置ROS网卡IP地址并连接。
ROS默认用户名admin,无密码。
ROS的命令并不复杂,使用三条命令就可以给网卡配置好IP(具体如图):

interface pri  # 显示所有网卡接口名称,pri是print的缩写
ip address pri   # 显示当前IP,未配置前是空的,配好后再执行一次看看是否成功
ip address add address=xxx.xxx.xxx.xxx/xx interface=xxxxx  
#给某个网卡配置IP,address=你要配的IP/子网掩码,interface=你选中的网卡的名字

在这里插入图片描述
我们现在可以使用winbox连接ROS了。
在这里插入图片描述
连接后会提示你激活,不激活就只能用24小时之后失效的测试版,我演示教程就不再激活了,大家要支持正版(狗头)。
在这里插入图片描述

5.2 ROS初始化配置

(1)区分WAN口LAN口并配置网卡名字

单击“interface”,我因为是虚拟机,我用在VMware中移除某个网卡的方式确定了WAN口和LAN口,物理机实际操作中根据连接的网口来判断就行了,为了清晰,我分别给网卡设置了名字,只需要改名字,其他的都不动。
在这里插入图片描述
在这里插入图片描述

(2)配置网卡IP及子网掩码

单击“IP-Address-加号-输入目标网卡IP及子网掩码”,Network系统会自己填写,不用管它。
在这里插入图片描述

(3)配置网关

单击“IP-Routes-加号-输入WAN口网关”,网上好多教程写的是选择LAN网卡就行了,我这样选了之后连不上外网,换成WAN口网关才连上外网,也许是环境不一样吧,后面再研究了,先输入WAN口网关这样用着。
在这里插入图片描述

(4)配置DHCP

① 添加DHCP地址池

“IP-Pool-加号-输入IP范围”,这个地址池是给LAN口分配IP用的,注意网段和你的LAN口一样,比如我的LAN口IP是“192.168.20.254”,我输入的IP范围是“192.168.20.10-192.168.20.230”,地址池名字随便写,然后点OK就行了。
在这里插入图片描述

② 配置DHCP服务参数

“IP-DHCP Server-加号-选择端口、租期、地址池”。
在这里插入图片描述
③ 添加NETWORK网络参数
“IP-DHCP Server-加号-输入对应参数”
Address代表LAN口是哪个网段,子网掩码是什么,在这里我们必须要跟LAN口地址设置到一个网段内,即"192.168.20.0/24"。
Gateway代表内网的网关,把内网地址直接作为内网的网关,即"192.168.20.254"。Netmask是内网IP地址的子网掩码,输入"24"。DNS Servers代表用来做域名解析的服务器地址,我设置为:223.5.5.5和114.114.114.114。

③ 测试DHCP

备份原始网卡配置文件,然后将测试机的网卡配置改成DHCP:

cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens33.bak #ens33是我的网卡名,不一定一样
vi ifcfg-ens33

在这里插入图片描述

TYPE=Ethernet 
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp 
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b48bd1cf-0816-4c17-9164-02ef7f678cea
DEVICE=ens33
ONBOOT=yes

然后重启网卡,再查看一下IP地址:

systemctl restart network
ip addr

在这里插入图片描述
有IP,则DHCP服务配置成功。

(5)配置全局伪装

在“IP-Firewall”中,单击“NAT”标签页,加号新建Rule,设置General标签页中的Chain为“srcnat”,Action中Action为masquerade。
在这里插入图片描述

(6)配置限速策略

ROS一般用脚本限速,假设希望限制“192.168.20.11-192.168.20.230”IP段的所有IP,上行最高512Kbps,下行最高512Kbps,则脚本为:

:for xiansu from 11 to 230 do=
{/queue simple add name=("限速-192.168.20." . $xiansu . "") 
target-address=("192.168.20." . $xiansu . "/32") 
limit-at=0/0 max-limit=512000/512000 }
# 为了方便看,我用回车分了行,实际执行时不需要分行。

在这里插入图片描述
脚本添加后记得选中然后单击运行,脚本才会开始跑。
在这里插入图片描述

在Queues中可查看执行情况:
在这里插入图片描述

(7)整体测试

① 测试是否正常上网

使用测试机ping一下DNS,若能通,则ROS系统配置成功,若不通,则需要对照上面步骤排查。
在这里插入图片描述

② 测试限速情况

首先查看一下自己系统的yum源,把yum源改成国内的,规避国外源速度的影响,我这里用的华为源,windows系统可直接测速。具体怎么改我就不再写了,百度大把大把教程。
在这里插入图片描述
测速方法很多,我使用speedtest的测速脚本:

1. pip(不知道为什么,我用wget直接安装,给权限后用不了,只能用pip):
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py #没有pip的下面有命令自己装一下
pip install speedtest-cli 
which speedtest-cli #查找测速脚本所在位置,一般是/usr/bin下
cd /usr/bin
./speedtest-cli --list | grep China #查看国内所有节点
./speedtest-cli --server=xxxx --share 
# xxxx是节点序号,share是将结果生成html页面
2. wget:
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli #赋予脚本执行权限
./speedtest-cli --server=xxxx --share
安装pip:
yum -y install epel-release
yum -y install python-pip

我现在写这篇CSDN的网络环境很差(宽带坏了,开的4G热点),测出来的数据有问题,但是能看出来限速成功了(和上下行无限制相比):
在这里插入图片描述
截止现在ROS算是能够正常工作了,不过现在还很脆弱,防火墙啥的还没设置,默认端口啥的也没改,后面再补吧。
我还是一个软路由小白,教程里肯定有不少在大佬眼里很幼稚的地方,请大佬们有时间的话一定帮我指出来,万分感谢。
最后,如果感觉写的还凑合的话,求一个赞,来自陌生人的每个赞都能让我开心好久~


本文链接: http://www.dtmao.cc/news_show_550185.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?