雷の影響で,HDDを取り替えてUbuntuを再インストールしたマシンには,LANのポートが2つあります.一つは対外接続(WAN側),もう一つはLANの構築(LAN側)として,ケーブルをつないで運用してきました.
DHCPサーバの設定をやり直し,ネットワークに関してはトラブル前とほぼ同じ環境ができています.今後,他のマシンでも効率良く作業できるよう,メモを残しておきます.
2つのIPアドレス設定
コマンドラインではなくGUIを使って,IPアドレスを設定します.
インストールを終え再起動して,ログインをします.画面右上のアイコンをマウスでクリックしていると,ネットワーク関連のメニューが見つかります.「接続を編集する...」を,クリックします.その後の設定は,WindowsでIPアドレスを設定するのとほぼ同じです.
LAN側は,ゲートウェイアドレスを空欄にしておきます.
NAT(IPマスカレード)関連
LAN内外の通信の設定は,iptablesのスクリプトファイルを使用します.
今回インストールし直したところ,LAN側がeth0,WAN側がeth1となっていたので,シェルスクリプトを編集し,eth0とeth1を交換しました(1箇所ずつ).残りは書き換えていません.
DNS
以下の手順どおりに実行しました.
1. /etc/NetworkManager/NetworkManager.conf の dns=dnsmasq を消す。
dnsmasqのDNSキャッシュを有効にしたい(Ubuntu 12.04) - 憩いの場【Linux/Ubuntu】
2. sudo apt-get install dnsmasq
3. /etc/dnsmasq.d/hoge に
listen-address=127.0.0.1
cache-size=500
と書いた
4. sudo service network-manager restart
5. sudo service dnsmasq restart
6. /etc/resolv.conf の上部に「nameserver 127.0.0.1」があるか確認する。
…と言いたいのですが,実は先に「sudo apt-get install dnsmasq」をしてしまっていました.この場合,インストールしたdnsmasqでは,ポート番号53がふさがっているためサービスが起動できないというメッセージを出します.
LANからDNS
/etc/dhcp/dhcpd.confを編集します.はじめのほうの「option domain-name」と「option domain-name-servers」から始まる行は,先頭に「#」をつけておきます.
ネットワークの設定は,次のようにしました.192.68.77.1が,LANの中でのこのLinuxマシンのIPアドレスです.
subnet 192.168.77.0 netmask 255.255.255.0 { range 192.168.77.128 192.168.77.159; option domain-name-servers 192.168.77.1; option domain-name "(省略)"; option routers 192.168.77.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.77.255; default-lease-time 21600; max-lease-time 43200; }
これでLAN側にPCを接続して,対外アクセスが可能になった*1のですが,よく見ると,LAN側PCから外にアクセスするときには,名前解決ができていません*2.
Linuxユーザのためのチップス: dnsmasqで簡易DNSサーバを読み,/etc/dnsmasq.confを編集…次のとおり設定しました.
interface=eth1 no-dhcp-interface=eth0 no-dhcp-interface=eth1
自分のLinuxマシンでは,eth1がLAN側,eth0がWAN側になるので,こうしています.
編集を終え,念のためsudo service dnsmasq restartで再起動.LAN側PCで,思うようにWebアクセスができるようになりました.