警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : ルータとしてのセットアップ(2)

対象製品: Armadillo-9

ルータとして動作させるための手順その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"

これでローカルネットワーク側に接続した機器が、グローバルネットワーク側にアクセスできると思います。