VPNやらLDAPやらをしっかり利用するタイプのホストの設定を 雑にメモっておく。

TODO

原則Ansibleでやるようにする。

初回ログイン

ubuntu 21.10 (arm64)はデフォルトで このIDとパスワードになっている。

  • ID: ubuntu
  • Password: ubuntu

/etc/hostname

1
rpi01

/etc/hosts

1
2
3
4
5
6
7
8
127.0.0.1 rpi01.hachune.org rpi01
127.0.0.1 localhost
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

/etc/netplan/51-mynetwork.yaml

DNSサーバは内部で持つので、use-dns: nouse-domain: noで resolve.confにDHCPサーバ由来のデータが入らないようにする。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
            dhcp4-overrides:
                use-dns: no
                use-domains: no
    version: 2
    wifis:
        wlan0:
            dhcp4: true
            dhcp4-overrides:
                use-dns: no
                use-domains: no
            optional: true
            access-points:
                "WIFI_SSID":
                     password: "WIFI_PASSWORD"
1
2
% sudo apt update
% sudo apt install sssd zsh tmux wireguard nftables unbound

wireguard

/etc/wireguard/wg0.conf

1
2
3
4
5
6
7
8
9
10
[Interface]
Address = CLIENT_ADDR/CLIENT_MASK
PrivateKey = CLIENT_PRIVATE_KEY
# ClientPublicKey = CLIENT_PUBLIC_KEY

[Peer]
PublicKey    = SERVER_PUBLIC_KEY
PresharedKey = SERVER_PRESHARED_KEY
AllowedIPs   = VPN_NETWORK/NETMASK
Endpoint     = SERVER_IP:SERVER_PORT
1
% sudo systemctl enable --now wg-quick@wg0

unbound

/etc/unbound/unbound.conf.d/hachunet.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server:
  #verbosity: 2
  use-syslog: yes
  do-daemonize: no
  username: "unbound"
  directory: "/etc/unbound"
  #trust-anchor-file:
  interface: 0.0.0.0
  access-control: 127.0.0.0/8 allow
  # dockerが必要ならネットワークに合わせて追加
  access-control: 172.17.0.0/16 allow
  do-not-query-localhost: no
  local-zone: "xx.xx.in-addr.arpa." transparent
  # val-permissive-mode: yes # disable DNSSEC check
  chroot: ""

stub-zone:
  name: hachune.org.
  stub-addr: xx.xx.xx.xx@yyyy

stub-zone:
  name: c5.koeki-u.ac.jp.
  stub-addr: xx.xx.xx.xx@yyyy

stub-zone:
  name: 39.10.in-addr.arpa.
  stub-addr: xx.xx.xx.xx@yyyy
1
% sudo systemctl enable --now unbound

systemd-resolved

/etc/systemd/resolved.conf

1
2
3
[Resolve]
DNS=127.0.0.1
DNSStubListener=no
1
% sudo systemctl restart systemd-resolved

nftables

いいかんじにする。