メインコンテンツへスキップ
  1. Posts/

ルーター部分のセットアップ

·3 分·
Network Linux Network
なね
著者
なね
目次
Re:Ubuntu Router - This article is part of a series.
Part 2: This Article

作業に取り掛かる前にsshのポートを変えたり鍵認証にしたりしよう。

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:
          - 127.0.0.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にする。

フォワードを有効にする。
#

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf  
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf  
sudo sysctl -p /etc/sysctl.conf  

Adguard Homeの導入
#

自分はインストーラーを使用した。

systemd-resolvedを無効化する。
#

sudo mkdir /etc/systemd/resolved.conf.d
sudo vim /etc/systemd/resolved.conf.d/adguardhome.conf

/etc/systemd/resolved.conf.d/adguard.conf

[Resolve]
DNS=127.0.0.1
DNSStubListener=no
sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl reload-or-restart systemd-resolved

Adguardのインストール
#

ここでの選択肢はインストールスクリプトを使うかsnapなのだが(docker版はdockerがiptablesを穴だらけにするので不採用)
自分はインストールスクリプトを使用した。

wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

ルーターと接続されている機器でhttp://192.168.1.1:3000にアクセスすると初期設定が始まるので
Web Interfaceをお好みのポートに、DNSサーバーをAll interfacesのPort53にする。
ユーザー名とパスを設定してセットアップを終えたらhttp://192.168.1.1:****でWebインターフェースに飛べるようになる。

※このタイミングではIPが割り当てられないので接続する際には手動で割り当てること。

DHCPサーバーを設定する
#

Webインターフェースを開いたら設定>DHCP設定を開き、DHCPインタフェースの選択をbr0にしてDHCP IPv4の設定をお好みの内容にしよう。
DHCP静的割り当てなんかもできるのでipを固定したい機器なんかはこのタイミングでやってあげると今後が楽かもしれない。
設定が終わったらDHCPサーバーをチェックするを押したあとDHCPサーバーを有効にするを押す。(チェック時になにか警告が出るけど平気平気)

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
COMMIT

sudo ufw enable && sudo ufw reload を忘れずに。
ufwのログがうるさかったらデバッグ時以外はオフにするのも視野。

Re:Ubuntu Router - This article is part of a series.
Part 2: This Article

Related

ubuntu serverをルーター化する
·3 分
Network Linux Network
ルーターの概要
·3 分
Network Linux Network
ubuntu serverをルーター化する2
·4 分
Network Linux Network
kvmでIntel ARCをパススルーする。
·6 分
Kvm Linux Kvm
HyperVにGPUを割り当てて優勝したかった
·3 分
Linux Linux
自分のAndroid環境について語る
·4 分
Android Android