Cavern.sigma
Welcome to Cavern.sigma
租屋處網路雖然是 500/250 M 但我的 DIR-820L 只有 100 mbps 的 WAN port 根本吃不滿 接在後面的 server (其實是筆電) 也就只能困在 100 M 所以這次來改造一下我的網路環境 至少讓 server 可以吃滿 ## 架構 (很噁我知道) 小烏龜 <---(USB to RJ45)---> Server <---(RJ45 Port)---> DIR-820L --)) 其他 Wi-Fi 裝置 ## Stage 1 一開始懶的研究 所以直接砸了一個 pppoe-relay 上去用 這樣我 router 那邊就完全不用動 `enx7cxxxxxxxxxx` 是 USB 網卡; `enp3s0` 是實體 RJ45 port `pppoe-relay.service` ```ini [Unit] Description=PPPoE Relay After=network-online.target Requires=sys-subsystem-net-devices-enx7cxxxxxxxxxx.device sys-subsystem-net-devices-enp3s0.device [Service] Restart=on-failure ExecStart=/usr/sbin/pppoe-relay -S enx7cxxxxxxxxxx -C enp3s0 -F [Install] WantedBy=multi-user.target ``` 但是做 pppoe-relay CPU 會有夠喘 測個速就快樂滿載了 ## Stage 2 後來隔了一陣子有空之後 把 dlink 設成 AP mode 只負責打 Wi-Fi 讓 server 自己播 pppoe 也負責發 DHCP AP mode 可以參考[這篇][1]來設定 我的環境是把 dlink ip 設成 192.168.0.2 DHCP 的部份可以直接交給 NetworkManager 來做 它會幫你處理 NAT 跟 DHCP 只需要新增一個 `shared mode` 的 connection 就好 ```bash nmcli connection add type ethernet ifname enp3s0 ipv4.method shared con-name dlink nmcli connection modify dlink ipv4.addresses 192.168.0.1/24 ``` 如果有固定 DHCP 位置的需求 可以在 `/etc/NetworkManager/dnsmasq-shared.d/` 裡面加上設定 每個 host 一行 模板如下: ``` dhcp-host=<mac>,<ip> ``` 另外 NetworkManager 預設是用 `nftables` 來加 NAT rule 但是重開機之後不知道為啥就不見了 所以我把它改成用 `iptables` 做後端 然後靠我的 `iptables-save` 幫我做 persistent 方便集中管理 在 `/etc/NetworkManager/NetworkManager.conf` 加入以下設定 ``` [main] firewall-backend=iptables ``` ## 結語 雖然 Wi-Fi 還是只能吃 100 M 但至少 server 可以吃上去 載東西也快多了 原本要直接手刻 dnsmasq 跟 iptables rules 的 幸好 NetworkManager 就有這個功能 省我不少功夫 Reference: - http://forums.dlink.com/index.php?topic=40856.0 - https://fedoramagazine.org/internet-connection-sharing-networkmanager/ [1]: http://forums.dlink.com/index.php?topic=40856.0 [2]: https://fedoramagazine.org/internet-connection-sharing-networkmanager/
2022-12-09 00:25:27
留言
Last fetch: --:-- 
現在還沒有留言!