#!/bin/sh # 既にipfwによるフィルタリングを使っている場合はflushは注意 ipfw -f flush # まず確立済みTCPパケットとフラグメントパケットは通過 ipfw add allow tcp from any to any established ipfw add allow ip from any to any frag # 192.168.11.0/24 から自身への22/tcpを許可 ipfw add allow tcp from 192.168.11.0/24 to me 22 via fxp1 # 自身に対するICMP(echo-request)を許可 ipfw add allow icmp from 192.168.11.0/24 to me via fxp1 icmptypes 8 # 上記以外の fxp1 宛のものはすべてdeny(tcpは tcp-reset を返す) ipfw add reset tcp from any to any in via fxp1 ipfw add deny ip from any to any in via fxp1 # 基幹LANから外部へのTCP接続許可 ipfw add allow tcp from 10.0.0.0/24 to any setup # 以下に基幹LAN内のパケットを許可する設定が続く(サイトの事情により異なる) ipfw add allow ip from any to 10.0.0.0/24 via fxp0 ipfw add allow ip from 10.0.0.0/24 to any out via fxp0 #重要なUDPを許可 ipfw add allow udp from 10.0.0.0/24 to any 53 keep-state ipfw add allow udp from 10.0.0.0/24 to any 123 keep-state # 外部から参照を許すサービスを許可(例) # ssh ipfw add allow tcp from any to me 22 # smtp ipfw add allow tcp from any to me 25 # 上記以外すべてを拒否 ipfw add 65535 deny log ip from any to any