[Orangepekoe Tearoom] >> [Linuxによるサーバー構築] >> [サーバーをインターネットに公開]   

サーバーをインターネットに公開

■miniDNS

ADSLモデムのIPアドレスが動的に変わるため、ダイナミックDNSの登録をした。池ike.infoに書いてあるものを参考にし、miniDNSに登録し、自動更新するようにした。ただし、まだ自宅サーバーの設定をしていないので、当然何も表示されない(自宅からはADSLの設定画面がでる)。

■ADSLモデムの設定

ADSLモデムのNATの設定を変更した。WWWポートになる80番のTCPを固定IPプライベートアドレスに変換するようにした。DHCPの設定は変えずに、DHCPが自動発行する番号外のIPアドレスを設定。設定方法は、直接ADSLサービスをおこなっているHOTnet(北海道総合通信網株式会社)にメールを送ったら、翌日詳しい資料を添付ファイルで送ってくれました。

■サーバーの設定(1) --- DHCP

/etc/sysconfig/network-scripts/ifcfg-eth1(ADSLのLANカード)
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.100.9
NETMASK=255.255.255.0
NETWORK=192.168.100.0
ONBOOT=yes
に変更。この192.168.100.9が先ほどADSLモデムで設定したIPアドレスになる。

■Squidの設定

このサーバーは、Squidにより、プロクシとキャッシュを有効にしているが、まず、外部からのアクセスを禁止するようにした。
/etc/squid/squid.conf
http_access allow localhost
http_access deny all
acl localip src 192.168.1.0/255.255.255.0
http_access allow localip

■Apacheの設定

/etc/httpd/conf/httpd.conf
家庭内のみで利用しているディレクトリを外部からアクセスできないようにした。
Order deny,allow
Deny from all
Allow from localhost 192.168.1.
バーチャルホストを設定し、外部からminiDNSでアクセスした場合にそのディレクトリを表示するようにした。
AddHandler cgi-script .cgi .pl というように.plを加えて、拡張子が.plのもの実行可能にした。
次のように、拡張子が.dat .log .cfgのファイルを直接呼び出せないようにした。
<Files ~ "/*\.dat">
deny from all
</Files>

<Files ~ "/*\.log">
deny from all
</Files>

<Files ~ "/*\.cfg">
deny from all
</Files>

■iptablesの設定

Web Site Pulse で外部からどのようにアクセスされるかを確かめるが、Squidにアクセスしている。透過プロクシの設定をしているが、ポート80が全てリダイレクトされているためみたいなので、「-s 192.168.1.0/24」を加えて、リダイレクトされるソースをローカルのクライアントのみとした。
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -s 192.168.1.0/24 -j REDIRECT --to-port 3128
※この設定は、間違いのようです。Squidに流れていません。
自分のローカルからのアクセスを記録しないようにする。
SetEnvIf Remote_Addr 192.168.1. no_log
CustomLog /var/log/httpd/access_log combined env=!no_log

■Analogの設定 (アクセスログ解析)

/etc/analog.cfg
#こうしないと一部文字化けをする
LANGUAGE JAPANESE-SJIS
#Apacheのログを途中からcombinedにしたので、両方を読み込むようにした。また、複数のログから解析をするようにした。
LOGFORMAT COMMON
LOGFORMAT (%S %j %u [%d/%M/%Y:%h:%n:%j %j] "%j %r %j" %c %b "%f" "%B")
LOGFILE /var/log/httpd/access_log*

■Welcome To My Home

普通、私の家庭内サーバーへようこそ! となるわけですが、まだ中身がないので公開しておりません。実際に外部からアクセスして確かめなければなりませんし。

戻る