2021/07/19(月) [n年前の日記]
#2 [debian][linux] 自宅サーバ代替機の設定作業中
自宅サーバ代替機(キューブPCケース機、Intel D945GSEJT使用)の各種設定作業中。自宅サーバ機の環境は、Debian Linux 10 buster 32bit版。
◎ DDNS更新ツールの導入。 :
DDNSサービス No-IP の Dynamic Update Client (DUC) を Debian Linux 10 buster に導入。一定時間毎に No-IP にアクセスして、こちら側のIPが変わっていたら反映させるツール。
公式サイトのアカウントページにログインして、noip-duc-linux.tar.gz を入手。root になってから、/usr/local/src/ にコピーして、以下を行う。
make install をすると、以下の必要な情報を尋ねてくるので入力する。
公式サイトのアカウントページにログインして、noip-duc-linux.tar.gz を入手。root になってから、/usr/local/src/ にコピーして、以下を行う。
cd /usr/local/src tar xzf noip-duc-linux.tar.gz cd no-ip-2.1.9 make make install
- /usr/local/bin/noip2 として実行ファイルがインストールされる。
- /usr/local/etc/no-ip2.conf が設定ファイル。
make install をすると、以下の必要な情報を尋ねてくるので入力する。
- ログイン用メールアドレス
- パスワード
- 更新間隔(単位は分)
- 更新した際に何か処理をするかどうか
- 再設定したい場合は、/usr/local/bin/noip2 -C を実行。
- /usr/local/bin/noip2 を実行すれば常駐してIPアドレスの更新を行う。
- /usr/local/bin/noip2 -S で、動作状態や設定内容を確認できる。
◎ noip2の自動実行。 :
OSが起動したら noip2 が自動実行されるようにしたい。
/usr/local/src/no-ip-2.1.9/ に debina.noip2.sh というファイルがある。これを /etc/init.d/noip2 としてコピー後、内容を修正すれば、自動実行の設定ができる…ような感じがする。
2行目に色々追加。最近の Debian の /etc/init.d/ 以下はこういうのを書いておくことになっている、ということなのかな…?
/etc/init.d/xxx としてファイルを置けば、service で実行/停止/再起動ができる…?
update-rc.d を使って自動実行するように登録するらしい。
しかし、OSを再起動しても noip2 が起動しているようには見えない。
sysv-rc-conf というツールで設定もできるらしい。
sysv-rc-conf で確認したら、何故か noip2 が全ての runlevel で無効になっていた。2,3,4,5 を有効化してみた。
この状態なら、OS起動時に自動実行してくれる模様。
参考ページ。
_Raspberry piにNo-IP DUCをインストールしてダイナミックDNSのIPを更新させる | 手間ひまかけて楽をする
_Raspberry Piでno-ipのDynamic DNSを使う | nogu.net
_Ubuntu で chkconfig の代わりに update-rc.d を使う | cloud.config Tech Blog
_Debian 系 Linux - サービス自動起動設定! - mk-mode BLOG
_Debian 9 (Stretch) - サービスの管理! - mk-mode BLOG
_Debian 10 (buster) - サービスの管理! - mk-mode BLOG
/usr/local/src/no-ip-2.1.9/ に debina.noip2.sh というファイルがある。これを /etc/init.d/noip2 としてコピー後、内容を修正すれば、自動実行の設定ができる…ような感じがする。
cp /usr/local/src/no-ip-2.1.9/debina.noip2.sh /etc/init.d/noip2 vi /etc/init.d/noip2
2行目に色々追加。最近の Debian の /etc/init.d/ 以下はこういうのを書いておくことになっている、ということなのかな…?
#! /bin/sh ### BEGIN INIT INFO # Provides: noip2 # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Should-Start: $syslog # Should-Stop: $syslog # Short-Description: Start/stop noip2 ### END INIT INFO # /etc/init.d/noip2
/etc/init.d/xxx としてファイルを置けば、service で実行/停止/再起動ができる…?
service noip2 start service noip2 stop service noip2 restartps aux | grep noip2 でプロセスがあるか確認。
update-rc.d を使って自動実行するように登録するらしい。
update-rc.d noip2 defaults
しかし、OSを再起動しても noip2 が起動しているようには見えない。
sysv-rc-conf というツールで設定もできるらしい。
apt install sysv-rc-conf sysv-rc-conf
sysv-rc-conf で確認したら、何故か noip2 が全ての runlevel で無効になっていた。2,3,4,5 を有効化してみた。
# sysv-rc-conf --list | grep noip2 noip2 0:off 1:off 2:on 3:on 4:on 5:on 6:off
この状態なら、OS起動時に自動実行してくれる模様。
参考ページ。
_Raspberry piにNo-IP DUCをインストールしてダイナミックDNSのIPを更新させる | 手間ひまかけて楽をする
_Raspberry Piでno-ipのDynamic DNSを使う | nogu.net
_Ubuntu で chkconfig の代わりに update-rc.d を使う | cloud.config Tech Blog
_Debian 系 Linux - サービス自動起動設定! - mk-mode BLOG
_Debian 9 (Stretch) - サービスの管理! - mk-mode BLOG
_Debian 10 (buster) - サービスの管理! - mk-mode BLOG
◎ systemDを使って登録する場合。 :
前述の方法では /etc/init.d/ にスクリプトを置いて自動実行していたけど、今時の Linux は systemD なる仕組みで自動実行する場合がほとんどっぽい。一応その方法も調べてみた。
/etc/systemd/system/ 以下に、noip2.service を作成する。
例その1:
例その2:
以下で登録。
参考ページ。
_Systemd Service file for no-ip.com dynamic ip updater
_How to install the noip2 on Ubuntu and run via systemd systemctl (noIP Dynamic Update Client) - blackMORE Ops
_NO-IPダイナミックドメインの再設定 - shinji629のブログ
_Linux の任意のスクリプトをサービス登録し OS 起動時に自動起動させる [init.d/SystemD 編] - Qiita
_No-IP+動的IPアドレスへの対応 - Linux / Server - FICUSONLINE FORUM
/etc/systemd/system/ 以下に、noip2.service を作成する。
例その1:
[Unit] Description=No-ip.com dynamic IP address updater After=network.target After=syslog.target [Install] WantedBy=multi-user.target Alias=noip.service [Service] # Start main service ExecStart=/usr/local/bin/noip2 Restart=always Type=forking
例その2:
[Unit] Description=noip2 service [Install] WantedBy=default.target [Service] ExecStart=/usr/local/bin/noip2 Restart=always Type=forking
以下で登録。
systemctl daemon-reload systemctl enable noip2 systemctl start noip2
参考ページ。
_Systemd Service file for no-ip.com dynamic ip updater
_How to install the noip2 on Ubuntu and run via systemd systemctl (noIP Dynamic Update Client) - blackMORE Ops
_NO-IPダイナミックドメインの再設定 - shinji629のブログ
_Linux の任意のスクリプトをサービス登録し OS 起動時に自動起動させる [init.d/SystemD 編] - Qiita
_No-IP+動的IPアドレスへの対応 - Linux / Server - FICUSONLINE FORUM
◎ chkrootkitをインストール。 :
ルートキット検出ツールの chkrootkit をインストール。
インストールしただけで、毎日実行するように設定してくれる…のかな。/etc/cron.daily/ 以下に chkrootkit というスクリプトがあるけれど…。でも、これって何時頃に実行されるのだろう…。
_Debian 9 (Stretch) - rootkit 検出ツール chkrootkit インストール! - mk-mode BLOG
apt install chkrootkit chkrootkit
インストールしただけで、毎日実行するように設定してくれる…のかな。/etc/cron.daily/ 以下に chkrootkit というスクリプトがあるけれど…。でも、これって何時頃に実行されるのだろう…。
_Debian 9 (Stretch) - rootkit 検出ツール chkrootkit インストール! - mk-mode BLOG
◎ vsftpdのアクセス制限。 :
hosts.allow、hosts.deny を使って vsftpd のアクセス制限をする。
_vftpdにIPのアクセス制限をかける - susan-styleの日記
/etc/vsftpd/vsftpd.conf 内に tcp_wrappers=YES を追記。これで、hosts.allow、hosts.deny を使ってアクセス制限ができるらしい。
hosts.deny 内の記述例。
_vftpdにIPのアクセス制限をかける - susan-styleの日記
/etc/vsftpd/vsftpd.conf 内に tcp_wrappers=YES を追記。これで、hosts.allow、hosts.deny を使ってアクセス制限ができるらしい。
hosts.deny 内の記述例。
vsftpd: 1.15. vsftpd: 1.30.
◎ Postfix+Dovecotのインストール。 :
メールサーバ Postfix + Dovecot をインストール。Postfix は送信サーバ。Dovecot は受信サーバ。
以下のページを参考にして作業した。/etc/postfix/main.cf や /etc/dovecot/ 以下を色々修正。
_Debian 10 Buster : Postfix : インストール : Server World
_Debian 10 (buster) - SMTP サーバ Postfix 構築! - mk-mode BLOG
_Debian 10 Buster : Dovecot : インストール : Server World
_Debian 10 (buster) - POP/IMAP サーバ Dovecot 構築! - mk-mode BLOG
_Debian 10 Buster : メールユーザーアカウント登録 : Server World
自分の環境の場合、プロバイダに plala を使っているので、/etc/postfix/main.cf 内で relayhost を設定した。
当初、mail xxxx@localhost をしてもメールが送れない・届かなくて悩んだけれど、/etc/postfix/main.cf の中で header_check 云々の行を有効にしていたのが原因だった。Vine Linux で使ってた設定ファイルを眺めて有効にしてしまったけれど、ウイルス対策用の機能だったらしい…。該当行をコメントアウトしたらメールの送受信ができるようになった。
以下のページを参考にして作業した。/etc/postfix/main.cf や /etc/dovecot/ 以下を色々修正。
_Debian 10 Buster : Postfix : インストール : Server World
_Debian 10 (buster) - SMTP サーバ Postfix 構築! - mk-mode BLOG
_Debian 10 Buster : Dovecot : インストール : Server World
_Debian 10 (buster) - POP/IMAP サーバ Dovecot 構築! - mk-mode BLOG
_Debian 10 Buster : メールユーザーアカウント登録 : Server World
自分の環境の場合、プロバイダに plala を使っているので、/etc/postfix/main.cf 内で relayhost を設定した。
relayhost = mmr.plala.or.jp
当初、mail xxxx@localhost をしてもメールが送れない・届かなくて悩んだけれど、/etc/postfix/main.cf の中で header_check 云々の行を有効にしていたのが原因だった。Vine Linux で使ってた設定ファイルを眺めて有効にしてしまったけれど、ウイルス対策用の機能だったらしい…。該当行をコメントアウトしたらメールの送受信ができるようになった。
[ ツッコむ ]
以上です。