ルータとして動作させるための手順その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"
これでローカルネットワーク側に接続した機器が、グローバルネットワーク側にアクセスできると思います。