Ubuntu9.10ルータ化個人まとめ
Ubuntu9.10+iptables+dhcp3-serverでDHCPサーバー
初心者が書いたまとめです。これが正しいと思う自信はないw
まずは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を固定接続にしたら解決するんだなーと思っています。
改めて見直してみるとひどいまとめだな。まぁ自分用だから。。
これ参考にして余計に混乱したらごめんなさい。まぁチラシの裏ってことで^^
まぁこんなことするよりルータを置いた方が簡単で安全ですね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でインターネットが見れる。