前置き#
1.Openwrt用のExpressVPNクライアントがない!
2.11kでなんちゃってAircoveを爆誕させる
3.性能限界で速度がそんなに出ない
4.ubuntuをルーター運用してLinuxクライアントを入れればいいのでは…?
でもネットワークなんもわからない!助けてChatGPT!うわすごい助けてくれた!俺もういらない!!!
メンヘラバイト戦士が眠剤と日本酒を盛ったノリで思い出しながら書きなぐり😭😭😭😭
構成#
CPU:Intel N100
RAM:8GB
OS:Ubuntu22.04LTS
例の中華ミニPCです。
LANポートが4つあるのでちょうどよいと思いました。
目標#
enp1s0:WAN(KDDI回線)
enp2s0:WANB(CATV)
enp3s0~4s0:LANポート
DHCPサーバーにAdguard Homeを採用。
最終的に何かしらのVPNクライアントを動かす。
Wireguardサーバーを構築してリモートアクセスしたい。
CFのDDNSをなんやかんや。
LANとWANの設定。#
enp3s0,enp4s0でネットワークブリッジを構成する。#
sudo apt install vim ufw
sudo vim /etc/netplan/00-installer-config.yaml
- 00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: true
nameservers:
addresses:
- 192.168.1.1
enp2s0:
dhcp4: true
optional: true
enp3s0:
dhcp4: false
optional: true
enp4s0:
dhcp4: false
optional: true
bridges:
br0:
interfaces: [enp3s0,enp4s0]
addresses: [192.168.1.1/24]
nameservers:
addresses: [192.168.1.1]
optional: true
sudo netplan apply
で変更を反映する
起動時に二分間スタックするのをなんとかする。#
/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
のExecStart=を/lib/systemd/systemd-networkd-wait-online --any
にする。
フォワードを有効にする。#
sudo vim /etc/sysctl.conf
でnet.ipv4.ip_forward=1
のコメントアウトを外す。
Adguard Homeの導入#
ここはインストーラーでもsnapでもって感じ。
br0を待ち受けインターフェースに設定した(もしかしたら失敗だったかもしれない)
ufwの設定#
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 53 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 53 proto udp
- /etc/ufw/before.rules
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# Allow LAN traffic
-A ufw-before-input -i br0 -j ACCEPT
-A ufw-before-output -o br0 -j ACCEPT
-A ufw-before-input -i br0 -d 192.168.1.1 -j ACCEPT
# Allow established/related connections
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Allow traffic from LAN to WAN (NAT)
-A ufw-before-forward -i br0 -o enp1s0 -j ACCEPT
-A ufw-before-forward -i enp1s0 -o br0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Allow DNS traffic from router to itself
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT
COMMIT
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o enp1s0 -j MASQUERADE
# -A POSTROUTING -o tun0 -j MASQUERADE
COMMIT
もしVPNクライアントを使うなら# Allow traffic from LAN to WAN (NAT)のenp1s0をtun0なりなんなりに変えてあげて
最後のコメントアウトを外せばオーケー
sudo ufw enable
とsudo ufw reload
して一回ちゃんと動いてるか確認した。
ExpressVPNのLinuxクライアントを入れて試してみた。#
speedtest結果はDL:414.92Mbps UP:120.94Mbpsだった。
KDDI回線の速度が大体DL:500M UP:120Mくらいなのでまぁまぁって感じだった。
WindowsのExpressVPNではリクエスト毎にipがコロコロ変わってた気がしたが
なんちゃってルーターだと本体でcurlを叩いたときは変わったがサブネット配下のPCでリロードガチャガチャしても変わらなかった。
感想#
ネットワークを軽く触れるきっかけになった。
linuxのVPNクライアントはうんちが多い。
NordVPNとかでもやってみたい。
今まで通りProtonVPNを使うならOpenwrt+wg.confで良いと思う。
WG鯖、ddnsはまたそのうちやる。