今使ってるルータは、4つしかLANポートなくて色々不便だったので、Debianをルータにして16ポートHUBを使って、15台までネットワーク組めるようにした。まず、interfaces の設定。 /etc/network/interfaces を以下のように設定。eth1_rename が外の世界とつながってるNICで、eth0が家ネットワークのHUBとつながってるNIC。
/etc/network/interfaces
auto eth1_rename iface eth1_rename inet dhcp auto eth0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0
とりあえず、設定が間違っていないか確認。
/etc/init.d/networking restart
エラーが出なかったら、ifconfig で設定を確認し、合ってそうだったら次へ進む。
次は、DHCPサーバのインストール。apt-getで入れた。
sudo apt-get install dhcp
次に、DHCPの設定をいじる。 /etc/dhcpd.conf が設定ファイルだけど、怖いのでバックアップをとってから編集。とりあえず、以下の様にしてみた。
/etc/dhcpd.conf
option domain-name-servers xxx.xxx.xxx.xxx; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; option routers 192.168.1.1; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.50 192.168.1.100; }
- option subnet-mask
- サブネットマスク。これを指定しないとエラーになる。
- option routers
- 多分、DHCPがたってるNICのIPなんだと思う。自信ないお。
- subnet …
- どのネットワークのDHCPを設定するのかってことだと思う。
- range
- ここで指定した範囲のIPがDHCPクライアントに割り振られるようだ。
ここまで設定すればDHCPサーバはたつけれど、外のネットワークにはつながらない。eth1_rename にきたものをeth0 に流してあげる様に、 ip_forward を有効にする。初期では多分無効になってると思う。
cat 1 > /proc/sys/net/ipv4/ip_forward
次に、ip_tables で流すルールを決める。
sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1_rename -j MASQUERADE
これで、eth0_rename で受けたパケットを全部中に流してくれる。
ここまでで、ルータ化は成功したはず。あとは静的にIPを割り当て、パケットをルータでちゃんと遮断するように設定すれば稼働できるかな。