Ubuntu9.10ルータ化個人まとめ

Ubuntu9.10+iptables+dhcp3-serverでDHCPサーバー


初心者が書いたまとめです。これが正しいと思う自信はないw

うちのネットワーク構成

異世界へ(インターネット)



WAN側(PPPOE)
windowsXP DHCP server
LAN側(192.168.0.1)



eth0→DHCP接続(自動接続)

UbuntuDHCPサーバー(wan側→eth0 lan側→eth1)

eth1→固定接続(192.168.1.1)



NICDHCP接続(IP自動接続)
クライアントPC

UbuntuのIP設定 /etc/network/interfaces より


auto lo
iface lo inet loopback


auto eth0
iface eth0 inet dhcp


auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255


まずはiptables設定から。
(私的解釈的にはこれを設定すると配下のPCをインターネットにつなぐことができる)

iptablesの設定


(参考HP様 Ubuntuルーター構築 » sa-sa-ki.jpのblog

↑な感じです。(手抜き)


ただ、IPマスカレイドの設定だけ家用に変えないといけないので


> -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE


な感じで変更


 eth0の部分はwan側(ここではeth0)のインターフェイス名を入れる。
 192.168.1.0/24はLAN側(ここではeth1)の固定IPにあわせてって感じで設定。IPでの接続範囲の設定なのかな。


 まぁ詳しくしらないので自分なりの解釈で設定しました。


 マスカレイドの説明はこちらとかでも。


 ここでiptablesの設定終了



 さて、上記の設定がうまく反映されてるとLAN側(eth1)のクライアントPC(IP固定設定)でインターネットに接続することができます。



 クライアントPCのOSはwinXPです。こんな感じで設定してみました。


 IPアドレスサブネットマスク・デフォルトゲートウエイはLAN側にあわせてって感じですね。
 優先DNSはwindowsDHCPサーバーのLAN側ですね。これを入れないと「みこぐにょサーバーからpingは帰ってくるのになぜインターネットにつながらん?」になりました。


つぎにdhcp3-serverの設定(配下のクライアントPCに自動でIPを配ってくれる。)

dhcp3-serverの設定

(参考HP様 Electronic Genome - UbuntuでDHCPサーバを稼働させてみる


 ↑な手順やりました。(手抜き)


 ↓は自分のところの設定。

/etc/dhcp3/dhcpd.confより


ddns-update-style none;


subnet 192.168.1.0 netmask 255.255.255.0{
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;


option domain-name milkserver;
option domain-name-servers 192.168.0.1;


range dynamic-bootp 192.168.1.2 192.168.1.10;
default-lease-time 21600;
max-lease-time 43200;


}

 option domain-name-serversは、windowsXP DHCP serverのIPってことで。(設定を間違うとクライアントPC側で自動取得はうまくいってるのにインターネット見れない;;になった。)

/etc/default/dhcp3-serverより

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts


#
# This is a POSIX shell fragment
#


# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".


INTERFACES="eth1"


 INTERFACES=""にIPを配りたいNICインターフェイス名を書いておくだけ

 
 これで、一応クライアントPC上自動取得設定でインターネットが見れました。

 
 -終- N○K


エラーや他にやったこと

dhcp3-serverをコンソール起動時に

root@ti75:~# sudo service dhcp3-server start
 * Starting DHCP server dhcpd3
 * check syslog for diagnostics.
[fail]
**syslogを見ると

Sep 24 03:54:24 ti75 dhcpd: Wrote 2 leases to leases file.
Sep 24 03:54:24 ti75 dhcpd:
Sep 24 03:54:24 ti75 dhcpd: No subnet declaration for eth1 (169.254.6.215).
Sep 24 03:54:24 ti75 dhcpd: ** Ignoring requests on eth1. If this is not what
Sep 24 03:54:24 ti75 dhcpd: you want, please write a subnet declaration
Sep 24 03:54:24 ti75 dhcpd: in your dhcpd.conf file for the network segment
Sep 24 03:54:24 ti75 dhcpd: to which interface eth1 is attached. **
Sep 24 03:54:24 ti75 dhcpd:
Sep 24 03:54:24 ti75 dhcpd:
Sep 24 03:54:24 ti75 dhcpd: Not configured to listen on any interfaces!


な感じなエラー。


 /etc/default/dhcp3-serverで指定したインターフェイズがない。なエラーだったかな^^;(わすれた。


 え〜っと、、、その時指定したインターフェイス(eth1)のIP設定はdhcp(IP自動取得設定)になっていました。
 eth1をstatic(IP固定接続)にして再起動もしくはネットワークだけ再起動をしてからdhcp3-serverを起動で起動できました。
 あとdhcp設定になっていても他からIPが取得できていればdhcp3-serverは起動するみたいです。


 あと固定IP設定の内容は適当にいれても動いてくれるのか(dhcp3-serverで設定したものを優先して反映させてくれる)くれないのかはやってないのでわからないです。
 
 とりあえず、指定のNICを固定接続にしたら解決するんだなーと思っています。

NetworkManagerを削除

 GUIのネットワークマネージャーでIP設定やったらUbuntu自身もブラウザ上からネット接続できなくなって・・・(ifconfigではIP取得してるんだが)
 サービス停止→削除して/network/interfacesに直書きでなおったんだがまぁ実際にこれが原因かどうかは不明。


 改めて見直してみるとひどいまとめだな。まぁ自分用だから。。
 これ参考にして余計に混乱したらごめんなさい。まぁチラシの裏ってことで^^
 まぁこんなことするよりルータを置いた方が簡単で安全ですねw上記じゃファイアーウォールもないし。。。
 あともうちょっとネットワークの知識を身につけないとね。

追記

                                                          • -

インターネット



eth0→pppoe接続
Utunbuサーバー
eth1(192.168.0.1)



クライアントPC→DHCP接続

                                                            • -


まず
# sudo pppoeconf
でpppoe接続





iptablesのマスカレイドの記述をppp0に変更。(接続名ifconfigなどでみれる・・・かな?)


> -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE





dhcp3-serverのdhcpd.confの一部記述を変更


option domain-name-servers   プロバイダ指定のDNS;





再起動





クライアントPCでインターネットが見れる。