P340软路由配置分享

summerq25天前0

前言:
今日完成P340 Tiny软路由一台,特此发帖分析心得。以前用繁体字是尽量避免屏蔽,上个月被版主禁言30日,每日以泪洗面,面壁思过(折腾软路由),居然有所领悟。这次就不管那么多了,我都奔5的人了,想太多也不好我还年轻,我还能肝。望版主看我已经痛改前非,支持一下哈。
0. 硬件配置与ESXI
硬件详情见如下帖子
https://www.chiphell.com/thread-2408241-1-1.html
P340 Tiny大家已经很熟悉,因此这里无需多言。需要注意的是,P340这代开始才支持sriov,而之前的P330,M920x等均不支持。
首先整体网络配置如下图所示。eth0,eth1为x710-T2L的两个电口,eth2为板载Ii219-LM,USB0为内置WWAN模块之接口。

虚化环境为ESXI 7u3d,内部跑4个VM:
VM0:Untangle UTM是一个商业防火墙,提供IPS以及路由功能。此处分配8核心,16G内存,120G硬盘来保证性能。
VM1:Debian自建科学服务器,分配一个VF即可,里面跑TR。主要方便自己去内地上网。
VM2:BT下载专用。分配一个VF,直通了2TB的SATA SSD,下载完成自动搬运到NAS中。同时打开了SAMBA服务,便于电脑共享。
VM3:OpenWRT,直通WWAN口LTE模块,掉线后通过TG Bot发送短消息到我的手机。同时GPS时间通过NTPD来提供服务。
1. ESXI的配置要点
首先要安装intel提供的x710网卡驱动。可以在vmware网站上搜索下载,之后开启ssh上传安装。成功后重启。

其次P340的bios内开启sriov以及iommu的支持。之后在ESXI硬件配置内把x710一个网口直通用来作为WAN接光猫,另一个网口开SRIOV,配置8个VF即可。


开启sriov之后需要重启ESXI以便生效。之后把PF配置为接vSwitch作为LAN这端的交换机。其他VM添加网口选择此vSwitch,驱动选择sriov passthrough。这里需要注意的是,如果其他VM直接通过添加PCIE硬件的方式来添加VF接口,则不能互通。

同样的,再添加一个新的vSwitch作为openwrt与防火墙Untangle的wwan口交换机。这里由于LTE模块速度相对较低,用VMXNET3驱动即可。

2. Untangle防火墙的配置
此防火墙带深度包检测,IPS与IDS,特点是配置上手十分容易。界面易于使用。缺点是贵。年费50~150刀。它基于Debian,并无过度精简,自带编译工具链,可以自行添加驱动。同时也可以自行修改apt源,来安装二进制程序。具体详情可参考:https://www.untangle.com/untangle-ng-firewall/

这里具体安装过程我就省略了,因为它基于Debian,网站有ISO安装文件下载。需要注意的是,默认安装并无自带x710的i40e及iavf驱动,因此首次安装需要添加2个VMXNET3网卡并且完成安装。之后可打开ssh,下载编译安装intel提供的驱动。

之后关闭vm并在ESXI内重新分配网卡即可。以下是我已经安装好驱动的网卡信息


此处注意直通网卡需要打开保留内存选项

开启UEFI可以提高性能

网卡信息


之后登录防火墙,并且在config选项卡内重新配置网卡信息
可以看到有三个网卡,分配为WAN,WWAN和LAN

WAN口通过DHCP从光猫获得IP。此处可以手动添加第二个不同网段的虚拟IP,用来打开光猫的配置网页

DHCP静态分配

Untangle特点之一为功能通过app实现。需要开启的功能下载app即可

要实现断网自动切换需要用到两个apps:wan failover 以及wan balancer

Failover的实现通过周期性的ping一个目标网址实现。wan口与wwan口检测的频率时间可以不同。国内的朋友可以把google改成百毒。

Balancer可以分配两个网口流量的百分比,这里我把wwan设置为0,意味着只有wan断网之后,才会切换到wwan上面来。

Untangle的主动防御功能汇总可以在report中查看

同时也有系统各种统计信息

3. OpenWRT的配置
此处使用github公版,没有自己编译,以求稳定。版本号是22.02.2

网络配置如下所示,一个VMXNET3网卡接防火墙wwan口,USB0为内置LTE模块


驱动信息如下

这里要具体讲一下LTE模块如何连接到openwrt里。我采用直通USB控制器的方式实现。

在ssh登陆后可以看到USB设备。这里需要注意的是,我使用的LTE模块为SIM7600,它有许多种工作模式。需要通过AT命令改为9011才能进入USB网卡模式(默认应该为QMI,在openwrt中需要额外配置才可工作)

登录luci网页后也可查看状态。IP地址通过DHCP自动获得。

LTE模块开机自动启动,配置端口为/dev/ttyUSB2 可以通过minicom来打开并且输入配置命令。具体命令可参考AT手册。这里需要注意的是,我使用了有源GPS天线,供电需要模块开启并提供3.0v,命令为AT+CVAUXV=3050。另外,gps配置修改前必须关闭,之后再打开。GPS的运行可以开启AGPS来提高搜星速度。开启之后1分钟内可以用。最后,此模块内置温度传感器,可以查看温度。命令为AT+CPMUTEMP。

模块默认重启后不给天线供电,因此需要写一个启动脚本

之后安装并配置gpsd

搜星完毕后可查看很多信息,包括UTC时间

之后安装并配置ntpd

添加红框中三行

可通过命令观察到,首选时间源为GPS

第一章结束,谢谢观赏!
后记:关于DPDK,VPP,由于无法支持pppoe,内地的朋友们可能不太适合,因此我才做了这样一个all in one的方案。如果有相关需求,我可以再开新贴分享。
最新回复 (27)
  • darekneo25天前
    引用2
    我去,这是我想搞但是没能力搞得东西。。。
  • yoakam25天前
    引用3
    darekneo 发表于 2022-5-3 02:14
    我去,这是我想搞但是没能力搞得东西。。。
    感谢分享,方案不错啊。Untangle UTM是一个商业防火墙这个太小众了,折腾pfsense比较过研究了半天还是用pfsense
  • Abwong25天前
    引用4
    SSH客户端是哪款?
    MobaXterm
  • 楼主summerq25天前
    引用5
    Abwong 发表于 2022-5-3 07:35
    SSH客户端是哪款?
    MobaXterm
    没错,是Mobaterm,十分好用
  • 苏一渔25天前
    引用6
    虽然看不懂,不过也支持一下
  • Abwong25天前
    引用7
    summerq 发表于 2022-5-3 07:50
    没错,是Mobaterm,十分好用
    为啥觉得卡卡的,用putty较多
  • tedaz25天前
    引用8
    回帖主要是为了收藏,技术贴,基本没看懂
  • Abwong 发表于 2022-5-3 08:21
    为啥觉得卡卡的,用putty较多
    比较吃资源
  • zhao13731425天前
    引用10
    防火墙感觉还是PaloaltoNetworks最好用
  • 楼主summerq25天前
    引用11
    zhao137314 发表于 2022-5-3 10:15
    防火墙感觉还是PaloaltoNetworks最好用
    那是相当好。世界排名前列啊。唯一的缺点就是贵,非常贵。年费2000刀起步
  • dzddz25天前
    引用12
    我也是exsi,你这个太牛叉了
  • nn112225天前
    引用13
    我只用免费的opnsense,也能实现IPS与IDS的插件功能,可能与付费的功能有差别
  • 楼主summerq25天前
    引用14
    nn1122 发表于 2022-5-3 11:04
    我只用免费的opnsense,也能实现IPS与IDS的插件功能,可能与付费的功能有差别 ...
    就家庭使用来讲,功能上pfsense已经足够。只是freebsd的驱动太老了,对新硬件支持不好。譬如4g模块还停留在串口拨号的年代。从性能上来讲,freebsd与linux并无本质区别,但linux的商业化支持是freebsd不能相比的,因此未来更好一些。
  • n4wh25天前
    引用15
    来捧个场,虽然我用了7年的Exsi,三个月前转投pve了!
  • zexin425天前
    引用16
    学习一下,感觉很复杂的样子啊
  • mzxmum25天前
    引用17
    复杂了,我刚好又这个机器,捧个场,我的思路是路由系统必须独立出来,放到一个机器上的风险过大,原来我也喜欢放在一起
  • 楼主summerq25天前
    引用18
    mzxmum 发表于 2022-5-3 19:16
    复杂了,我刚好又这个机器,捧个场,我的思路是路由系统必须独立出来,放到一个机器上的风险过大,原来我也 ...
    没错,所以我还有个备用的m920x,配置跟这个p340一样,只是没有bt下载和openwrt。万一主力挂掉,还有个备用的设备
  • weston25天前
    引用19
    能冒昧问一下您的使用场景吗?是要开展啥业务吗?小弟孤陋寡闻,第一次见这么复杂的配置
  • ntuchenxy24天前
    引用20
    问个题外话,楼主的x710能有条件看看是否能链接2.5g吗?我的dell的x710-t2l无法链接2.5g,只能1g或10g,固件刷了最新的dell的,esxi7u3d也升级了最新网卡驱动(esxi本身就带驱动的,就是版本低点)。虽然都是直接上万兆交换机了,但是就是很好奇为什么不行
  • vim24天前
    引用21
    AIO要做個部署筆記方便troubleshooting,不然時間一長就忘記了
  • 楼主summerq24天前
    引用22
    vim 发表于 2022-5-4 02:02
    AIO要做個部署筆記方便troubleshooting,不然時間一長就忘記了
    说的很对,我的做法是nvme直接克隆一样的。万一系统坏掉就把备份的nvme换上去。但这个方案我使用已经半年多了,目前来说很稳定。心得体会就是千万不要随意升级esxi,那会风险很大。
  • 楼主summerq24天前
    引用23
    ntuchenxy 发表于 2022-5-4 01:43
    问个题外话,楼主的x710能有条件看看是否能链接2.5g吗?我的dell的x710-t2l无法链接2.5g,只能1g或10g,固 ...
    我这里2.5g没问题,速度自动协商。对方设备包括p812e光猫,i225网卡,qnap的2.5g交换机等。你的问题可能会是线,或者是对面设备兼容性的问题。
  • 楼主summerq24天前
    引用24
    weston 发表于 2022-5-3 23:11
    能冒昧问一下您的使用场景吗?是要开展啥业务吗?小弟孤陋寡闻,第一次见这么复杂的配置 ...
    科学养鸡场
  • 咖啡泡泡24天前
    引用25
    基本没看懂
  • mzxmum24天前
    引用26
    summerq 发表于 2022-5-4 03:00
    说的很对,我的做法是nvme直接克隆一样的。万一系统坏掉就把备份的nvme换上去。但这个方案我使用已经半年 ...
    你这种方式只能说确定有人会维护,会更换设备,但是网络必然会中断,这不符合现在网络是第一生产力的状态。路由需要做热备。
    我现在用的是硬路由为主,功能性的需求主路由策略到P340上,就算P340关机离线,网络也不受到任何影响,平滑无缝。
  • 楼主summerq24天前
    引用27
    mzxmum 发表于 2022-5-4 12:16
    你这种方式只能说确定有人会维护,会更换设备,但是网络必然会中断,这不符合现在网络是第一生产力 ...
    这个就要看个人能力了。能教的会家里阿姨换设备,那是相当不容易的事
  • blacksnoopy24天前
    引用28
    Untangle UTM的用户界面跟ubnt的路由器的界面好像啊
  • 游客
    29
返回