ルータとして動作させるための手順その2です。まず、ルータとしてのセットアップ(1)を参照してルーティングを可能にしてください。
今回は、パケットフィルタとIPマスカレード、そしてローカルネットワーク用DHCPサーバの設定も記載します。
1. パケットフィルタ/IPマスカレード
iptables コマンドを使用します。まず以下の/etc/init.d/iptablesに以下の例ようなファイルを作成ます 。
#!/bin/sh PATH=/bin:/usr/bin:/sbin:/usr/sbin IPTABLES=/sbin/iptables case "$1" in start) $IPTABLES -F $IPTABLES -t nat -F #------------------------------ # DEFAULT POLICY #------------------------------ $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT #------------------------------ # INPUT #------------------------------ # icmp, web, ssh, pop, dns $IPTABLES -A INPUT -p icmp -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 53 -j ACCEPT $IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT # from localhost, local network $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A INPUT -i eth0 -s 192.168.10.0/24 -j ACCEPT # after connection established $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #------------------------------ # FORWARD #------------------------------ # deny 135, 137 - 139, 445 $IPTABLES -A FORWARD -p tcp --dport 135 -j DROP $IPTABLES -A FORWARD -p udp --dport 135 -j DROP $IPTABLES -A FORWARD -p tcp --dport 137:139 -j DROP $IPTABLES -A FORWARD -p udp --dport 137:139 -j DROP $IPTABLES -A FORWARD -p tcp --dport 445 -j DROP $IPTABLES -A FORWARD -p udp --dport 445 -j DROP # masquerade $IPTABLES -t nat -A POSTROUTING -o eth1 -s 192.168.10.0/24 -j MASQUERADE #------------------------------ # OUTPUT #------------------------------ # deny 135, 137 - 139, 445 $IPTABLES -A OUTPUT -p tcp --dport 135 -j DROP $IPTABLES -A OUTPUT -p udp --dport 135 -j DROP $IPTABLES -A OUTPUT -p tcp --dport 137:139 -j DROP $IPTABLES -A OUTPUT -p udp --dport 137:139 -j DROP $IPTABLES -A OUTPUT -p tcp --dport 445 -j DROP $IPTABLES -A OUTPUT -p udp --dport 445 -j DROP echo "done." ;; esac exit 0
次に、起動時に実行されるよう、以下のコマンドを実行します。
[armadillo ~]# update-rc.d iptables start 90 2 3 4 5 .
2. DHCPサーバ
aptでdhcpサーバをインストールします。
[armadillo ~]# apt-get install dhcpd
/etc/dhcpd.confを編集し、192.168.10.100 〜 254をDHCPで割り当てるIPアドレスに指定します。また、ルーターのアドレスに192.168.10.1を指定します。
... subnet 192.168.10.0 netmask 255.255.255.0; { range 192.168.10.100 192.168.10.254; option broadcast-address 192.168.10.255; option routers 192.168.10.1; option subnet-mask 255.255.255.0; } ...
最後に/etc/default/dhcp を編集して、eth0デバイスに対してDHCPを有効にするように設定します。
INTERFACES="eth0"
これでローカルネットワーク側に接続した機器が、グローバルネットワーク側にアクセスできると思います。