前言:
玩軟路由的人大部分都會有一些在硬路由上不好實現的需求,比如去廣告,下載機,文件備份同步,出國等等需求,但軟路由的網絡拓撲基本就兩種,作主路由和傳統旁路由網關,但在我的實際使用過程中,總多多少少會有不完美的地方。
比如:
- 當我修改配置需要重啟設備時,全網設備都會暫時斷網,容易影響他人上網。
- 當軟路由在跑某些cpu占用高的任務的時候,可能會間歇性造成網絡延時高,要是這時有人剛好在打游戲容易引發家庭矛盾。
- 我使用的環境是openwrt+電信公網IP,公網IP大概48小時動態切換一次,有時候切換IP會造成上不了網,得重啟設備才行,體驗不好。
- 固件一直在更新,也可能存在不穩定的問題。
需求:
硬路由做主路由保持穩定,軟路由做旁路由滿足功能需求,不同設備自動分配不同網關。

鑒于此,我放棄了軟路由做主路由的計劃,本來旁路由會是個挺好的選擇,但傳統的旁路由模式,要么讓主路由的DHCP服務指定所有設備的網關為旁路由,讓全網設備統一走旁路由,但這又會出現當我需要重啟路由時其他設備斷網的問題;要么讓某些設備手動配置IP和旁路由網關,讓他們單獨走旁路由達到出國和去廣告的目的,PC和電視倒還好一次配置永久生效,但是手機和筆記本就不太方便,在家里手動配置IP和網關,到了單位得切換自動獲取,回家又得重新配置,就很煩。所以一直沒有找到一個完美的解決方案。
我的硬路由設備是華碩AC68U,在這些年的使用中很滿意也極少出現問題,如果不跑那些亂七八糟的服務,它的性能完全是夠用的。
所以,如果能讓主路由的DHCP單獨為指定設備分配IP的同時,也讓該設備網關指向旁路由,那就完美了。既可以滿足折騰的心,又不會影響到其他人使用。
網上查找方法后發現剛好華碩路由器的DNSmasq服務可以滿足需求。(旁路由的具體配置過程社區里面有很多,大家另外搜索吧我就不重復造輪子了)
配置過程如下:
1、WEB頁面設置
- 進入系統管理 -> 系統設置
- 啟用 Enable JFFS custom scripts and configs 選項(刷了梅林固件或者原廠改版固件的都會開啟了)
- 啟用 SSH 選項(默認開啟了局域網內登錄)
2、登陸ssh操作
- 新建文件:
vi /jffs/configs/dnsmasq.conf.add
- 根據自己的實際情況編輯配置,并保存
#配置旁路由網關和DNS的IP,標注tag為openwrt;
dhcp-option=tag:openwrt,option:router,192.168.50.254(你的軟路由IP)
dhcp-option=tag:openwrt,option:dns-server,192.168.50.254(你的軟路由DNS)
#指定mac地址的設備分配IP、網關和DNS
dhcp-host=AA:BB:CC:DD:EE:FF(你的設備MAC地址),set:openwrt,192.168.50.55(配置的IP),,iphone8(自定義名稱)
- 保存重啟dnsmasq讓配置文件生效
service restart_dnsmasq
(注意哦,如果在華碩的固件上開啟出國服務,可能會導致這個文件被覆蓋失效)
- 斷開手機和筆記本wifi重新聯網,可以發現指定的設備已經自動分配旁路由網關,其他設備還是走主路由網關。
現在可以放心折騰了,即使軟路由出問題了也不會影響其他人上網。完美!!!
友情拔草:
除了需要多播出國去廣告大帶機量和其他定制性功能等需求,對大部分用戶來說,單純NAT轉發上網軟路由并不比硬路由有優勢,不要迷信軟路由,也不是要非上雙網口主板(太貴)。