1. 程式人生 > 其它 >【2022.04.21】在docker中搭建openwrt軟路由系統,實現多網口以及主路由功能

【2022.04.21】在docker中搭建openwrt軟路由系統,實現多網口以及主路由功能

前言

因為大多docker搭建軟路由時,實現的是旁路由單網口的拓撲

這次想要嘗試下多網口搭建openwrt,以便實現主路由功能

本次使用的docker映象:raymondwong/openwrt_r9 - Docker Image | Docker Hub

網口設定

先用ifconfig檢視一下介面名稱,我這裡是enp2s0與enp3s0

那麼將對應的網絡卡啟動混淆模式

ip link set enp3s0 promisc on
ip link set enp2s0 promisc on

為了以防萬一,比如外接網絡卡可能在伺服器重啟後失效,那麼還要加入開機自啟動

nano /etc/init.d/iplinkset.sh

將上面的兩句命令,和指令碼規範開頭一起復制進來

#!/bin/sh
ip link set enp3s0 promisc on
ip link set enp2s0 promisc on

ctrl+x y entel 儲存退出

增加可執行許可權

chmod +x /etc/init.d/iplinkset.sh

設定開機啟動

update-rc.d iplinkset.sh defaults

如果想要刪除這個啟動項

update-rc.d -f iplinkset.sh remove

虛擬網絡卡

  • 我們現在要基於現有的網絡卡建立兩個 macvlan 型別的網絡卡,這樣後面建立的容器才能有網絡卡進行掛載使用,並且使用獨立的網絡卡進行資料報文的通訊。macnet1
    我們作為後面 openWRT容器 執行的 Wan口 使用, macnet2 則是 Lan口
  • oepnWRT 使用網路說明 (環境存在差異 按照你的環境配置參照修改即可)
    • wan: 192.168.2.0/24
    • lan:192.168.22.0/24