RaspberryPiOS(64bit)をインストールしたのでメモ

Imagerであらかじめ設定できるところはしておく。
日本語入力環境は初回起動時のUpdateで入ったようだ。特に何もしなくても入力できるようになった。
IP固定の設定がなかなかうまくいかなかった。dhcpcd.confにはinformよりstatic ip_addressの方がよさそう。static ip_address,static routers,static domain_name_serversの三つを設定したらうまくいった。どれか欠けてるとDHCPからIPアドレス取得するような挙動を見せた。謎。
WindowsターミナルからSSHしようとしたら鍵が違うと怒られた。C:\user/username/.ssh/known_hostsに鍵の一覧がある。
Dockerをインストール→ユーザー追加→確認

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker [user_name]
docker version

Portainerのインストール。公式をみるとポートが9000から変わっている。
:linux-armはダメだった(no matching manifest for linux/arm64/v8 in the manifest list entries)

https://www.wundertech.net/portainer-raspberry-pi-install-how-to-install-docker-and-portainer/

sudo docker pull portainer/portainer-ce:latest
sudo docker volume create portainer_data
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Docker Composeのインストール 公式にあるV2はうまくいかなかった

sudo pip3 install docker-compose

AdGuard Homesをインストール
\は「改行じゃない」の表現

sudo docker pull adguard/adguardhome
sudo docker run --name adguardhome\
    --restart unless-stopped\
    -v /my/own/workdir:/opt/adguardhome/work\
    -v /my/own/confdir:/opt/adguardhome/conf\
    -p 53:53/tcp -p 53:53/udp\
    -p 67:67/udp -p 68:68/udp\
    -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
    -p 853:853/tcp\
    -p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
    -p 5443:5443/tcp -p 5443:5443/udp\
    -d adguard/adguardhome

一行で書いたら上手くいった。と思ったが駄目だった。
Portainer上でやる(ポート、ネットワーク、再起動を編集してDeploy)
Talescaleをインストール

Exit nodeとしてAdvertise

rootへパスワードの設定
sudo passwd root
OSアップデートの自動化

sudo crontab -e
0 3 * * * sudo apt-get update && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get autoclean

PiVPNのインストール

接続先のLAN内に入れるようにする
/etc/sysctl.confの以下をコメントアウト解除

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
net.ipv6.conf.all.forwarding=1

sudo sysctl -p

sudo nano /etc/wireguard/wg0.conf

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -A FORWARD -o wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -D FORWARD -o wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

natテーブルを利用したLinuxルータの作成:習うより慣れろ! iptablesテンプレート集(2)(2/6 ページ) - @IT (itmedia.co.jp)

/etc/wireguard/wg0.conf VPNサーバー側の設定ファイル
/home/configs/○○.conf クライアント側の設定ファイル
/etc/pivpn/wireguard/setupVars.conf セットアップウィザードで設定した内容

pivpn -a -n [peer名]で/home/configs/[peer名].confができる

とりあえずクライアント側(としておく)のAllowedIPsに0.0.0.0/0, ::0/0をしておくとすべてのトラフィックがサーバー側経由になる。
10.6.0.0/24(サーバー側のインターフェースで決められたネットワーク),192.168.1.0/24(LANのネットワーク)としておくとLAN内にアクセスできる。(それ以外の通信はVPN経由じゃなく直接出ていく)

iphone.confをpivpn -a -nで作って編集した後にpivpn -qrしても編集前の情報でQRコードが作られる。なんでだろう。wg0.confからその都度自動生成しているのだろうか。結局読み込んだ後にアプリ上で編集することに。うーん。

ufwとgufwのインストール

sudo apt install ufw
sudo apt install gufw

PiVPNのWireGuardネットワーク 10.6.0.0/24
Talescaleのネットワーク 100.64.0.0/10 CGNAT

sudo ufw default deny
sudo ufw allow from 192.168.1.0/24
sudo ufw allow from 10.6.0.0/24
sudo ufw allow from 100.64.0.0/10
sudo ufw allow from fe80::/10
sudo ufw allow from fc00::/7
sudo ufw allow from 240b:abcd:efgh:ijkl::/64

IPv6はリンクローカルアドレスとユニークローカルアドレスを許可しておけばいいんだろうか…
AdGuardHomeをつかうPCの一時IPv6アドレスを許可。
240b:abcd:efgh:ijkl::/64の形。
gufwでルールに名前を付けるにはgufwでルールを設定しないといけない。ufwで設定したルールに後から名付けはできない。

Speedtest-cliをインストール

sudo apt install speedtest-cli

Nextcloud desktopはAdd/Remove Softwareからインストール。

Sambaをインストール

sudo apt install samba
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo mkdir /home/username/share
sudo nano /etc/samba/smb.conf

[global]
min protocol = SMB2

[share]
path = /home/username/share
read only = no
browsable = yes
writable = yes
guest ok = no
force user = username

sudo smbpasswd -a username
sudo service smbd restart
sudo systemctl enable smbd


この記事が気に入ったらサポートをしてみませんか?