さて、今のサーバの設定メモを残してみようかと思いましたが、せっかくなので次期サーバの構築過程の記録を残しておこうと思います。
まずは方針として
- 従来のサービスやデータをすべて残すようにする。
- お手軽にパッケージ導入して、凝った設定などしない。
- IPv6対応にする。
従来のサービス他データをすべて残すようにする。
もともと古いサーバなので、今では使われていないサービスがあったりします。
例えば、メーリングリストはmajordomを使っていたり。これをpostfixに乗っけて動かさなければいけません。
また、Hotlineサーバとか。これは今でいうクローズドなSNSですね。
古いサーバは、ソースプログラムをコンパイルしてインストールすることになりますが、ちゃんと動くのでしょうか?
お手軽にパッケージ導入して、凝った設定などしない。
かつて、FreeBSDでサーバを構築していたときには、OSを含めて、すべてのアプリをソースからインストールしていました。
ソース修正やコンパイルオプションなどでカスタマイズしていたので、自分でもどこを直したのか管理できていませんでした。
もう一度同じものを構築しろと言われても無理でしたね。
その反省を踏まえて、Linuxではお手軽パッケージインストールに徹します!
「ああ、コンパイルオプションを変更するだけで日本語対応になるのに」と思っても我慢です!
IPv6対応にする。
いままで、自宅LANにNTTのフレッツ網から勝手にIPv6が降ってきていましたが、最近ようやくまともにIPv6に対応しました。
ネットワーク構成は
こんな感じです。
自宅サーバをインターネットに公開するために、IPv4およびIPv6ともに固定IPアドレスが必要なので、PPPoEで接続しています。
プロバイダはInterlink、IPv4ルータはNECのAterm、IPv6ルータはIIJのSEIL/x86を使っています。
IPoEのIPv6と共存させて、マルチホームにしようと試してみましたが、ホームゲートウェイのルータとしての機能が低いため、無理でした。
いまは、ホームゲートウェイから配られるIPv6はIPv6&IPv4ルータでブロックし、PPPoEで配られたIPのみをLAN内で使っています。
また、サーバとして公開するためにIPv4ルータでは、以下のようにポートをマッピングしています。
IPアドレス プロトコル ポート コメント
192.168.1.4 TCP+UDP 53 domain
192.168.1.4 TCP+UDP 6667 ircd
192.168.1.4 TCP+UDP 5500-5501 hotline
192.168.1.4 TCP+UDP 21 ftp
192.168.1.4 TCP+UDP 80 www
192.168.1.4 TCP+UDP 443 https
192.168.1.4 TCP+UDP 22 ssh
192.168.1.4 TCP+UDP 25 smtp
192.168.1.4 TCP+UDP 465 smtps
192.168.1.4 TCP+UDP 110 pop3
192.168.1.4 TCP+UDP 995 pop3s
192.168.1.4 TCP+UDP 143 imap
192.168.1.4 TCP+UDP 993 imaps
192.168.1.4 TCP+UDP 587 submission
IPv6の方はサーバ含めて、全てのパソコンが外部からアクセスできるグローバル・ユニキャスト・アドレスが割り当てられています。
そのため、IPv6ルータには以下のようなファイヤーウォール設定を入れています。
filter add seil_ctl_lan0 interface lan0 direction in action pass protocol tcp src 192.168.1.0/24 srcport 0-65535 dst self dstport 0-65535 state disable logging off enable
filter add telnetd_block interface any direction in action block protocol tcp srcport 0-65535 dst self dstport 23 state disable logging on enable
filter add httpd_block interface any direction in action block protocol tcp srcport 0-65535 dst self dstport 80 state disable logging on enable
filter add sshd_block interface any direction in action block protocol tcp srcport 0-65535 dst self dstport 22 state disable logging on enable
filter6 add seil_ctl_lan0 interface lan0 direction in action pass protocol tcp src fe80::/10 srcport 0-65535 dst self dstport 0-65535 state disable logging off enable
filter6 add telnetd_block interface any direction in action block protocol tcpudp srcport 0-65535 dst self dstport 23 state disable logging on enable
filter6 add httpd_block interface any direction in action block protocol tcpudp srcport 0-65535 dst self dstport 80 state disable logging on enable
filter6 add sshd_block interface any direction in action block protocol tcpudp srcport 0-65535 dst self dstport 22 state disable logging on enable
filter6 add pass_icpm interface pppoe0 direction in/out action pass protocol ipv6-icmp state disable logging on enable
filter6 add pass_dhcp interface pppoe0 direction in action pass protocol udp srcport 0-65535 dst fe80::/10 dstport 546 state enable logging on enable
filter6 add outgoing interface pppoe0 direction out action pass state enable logging off enable
filter6 add pass_domain interface pppoe0 direction in action pass protocol tcpudp srcport 0-65535 dst 2001:2c0:cd03:ca01::4/128 dstport 53 state disable logging off enable
filter6 add pass_httpd interface pppoe0 direction in action pass protocol tcpudp srcport 0-65535 dst 2001:2c0:cd03:ca01::4/128 dstport 80 state disable logging on enable
filter6 add pass_https interface pppoe0 direction in action pass protocol tcpudp srcport 0-65535 dst 2001:2c0:cd03:ca01::4/128 dstport 443 state disable logging on enable
filter6 add pass_ftpd interface pppoe0 direction in action pass protocol tcpudp srcport 0-65535 dst 2001:2c0:cd03:ca01::4/128 dstport 21 state disable logging on enable
filter6 add pass_sshd interface pppoe0 direction in action pass protocol tcpudp srcport 0-65535 dst 2001:2c0:cd03:ca01::4/128 dstport 22 state disable logging on enable
filter6 add block_in interface pppoe0 direction in action block state disable logging on enable
簡単に解説すると、LAN内からの通信とその応答はすべて許可。外部からのサーバに向けた必要なポートだけ許可。それ以外は拒否。になります。
IPv6のLAN構築(ルータ設定)も苦労したので、どこかにメモを残しておきたいですね。
お勧めのKindle本です!
コメント