8.ソフトのインストール&設定 [目次へ]
8.1 インストールを楽にするために一時的にrootでのftpを可能にする
#ee /etc/ftpusers
/etc/ftpusers の変更 #root (#をつける) ←セキュリティのため後で戻した方が良い
#reboot
8.2 wide-dhcp-1.4.0p1 (DHCPサーバ&クライアント)のインストール&設定
ed1は、wide-dhcpのなかのdhcpc(dhcpクライアント)を使用して、アドレスを取得できるようにする。起動時は、192.168.13.7という仮のアドレスを設定しているので、それを置き換えるようにします。
1) wide-dhcp-1.4.0p1のインストール
#/stand/sysinstall
「c.Configure」「P.Packages」「1.CD-ROM」[All]「[X]wide-dhcp-1.4.0p1」
「OK」「Install」「OK」
インストールが終了したら「Exit」「OK」「Exit Install」
2)カーネルを再構築
カーネルに bpfilter を追加してなければ、"pseudo-device bpfilter 4" を追加してカーネルを再構築する。すでに前項でbpfilter 4にしていればカーネルの再構築ありません。
bpf0〜bpf3 のデバイスファイルがあるか確認する
#cd /dev
#ls bpf* ←でbpf0〜bpf3 のデバイスファイルがあるか確認する
なければ
./MAKEDEV bpf0
./MAKEDEV bpf1 bpf2 bpf3 ←で3つ一度にできる
ついでに同様にtun0〜tun3 のデバイスファイルがあるか確認する(dhcpとは関係ないが)
#cd /dev
#ls tun* ←でtun0〜tun3 のデバイスファイルがあるか確認する
なければ
./MAKEDEV tun0
./MAKEDEV tun1 tun2 tun3 ←で3つ一度にできる
3) DHCP Server が起動するようにSetup
WIDE-DHCP の設定は /etc/dhcpdb.pool と /etc/dhcpdb.relay という2つのファイルで行なう。
relay の方は、今回の場合はリレーエージェントの設定の必要がないので、0バイトファイルとして作成する。
#touch /etc/dhcpdb.relay
#ee /etc/dhcpdb.pool
/etc/dhcpdb.pool の変更 # define a global entry which specifies the stuff every host uses.
global:!snmk=255.255.255.0:tmof=32400:# define different master entries for each subnet.
internal:tblc=global:rout=192.168.13.11:dht1=500:dht2=850:\(←半角)
:brda=192.168.13.255:\(←半角)
:dnsv=210.ddd.nnn.sss(CATV側のDNS)# entries for dynamic / automatic allocation (DHCP)
1001: :ipad=192.168.13.32:dfll=3600:maxl=7200:tblc=internal:
1002: :ipad=192.168.13.33:dfll=3600:maxl=7200:tblc=internal:
1003: :ipad=192.168.13.34:dfll=3600:maxl=7200:tblc=internal:
1004: :ipad=192.168.13.35:dfll=3600:maxl=7200:tblc=internal:上記のように、192.168.13.32〜192.168.1.35 の 4つのアドレスを DHCP アドレスに割り当てる。
起動時に、DHCP サーバ dhcps を起動するようにrc.localに追加する。
#ee /etc/rc.local
/etc/rc.local の変更 echo -n 'dhcps setup'
/usr/local/sbin/dhcps ep0を追加する。(ep0は内部LAN側)
4) DHCP Client が起動するようにSetup
#ee /etc/rc.local
/etc/rc.local の変更 echo -n 'dhcpc setup'
/usr/local/sbin/dhcpc -r -n ed1を追加する。(ed1は外部CATV側)
-r:/etc/resolv.confを、dhcpサーバーから知らされたDNSサーバーアドレスに書き換える
-n:クライアントのホスト名をdhcpサーバーから知らされた名前に書き換える。
これにより、ed1に192.168.13.7 を仮設定しておいたものを、FreeBSDの立ち上げ時に、
CATVのグローバルのIPアドレスをCATVのDHCPサーバーからのグローバルなIPアドレスに置き換える。
#ls -l /usr/local/etc/rc.d で、dhcp関係の*.shがないことを確認して、もしあればどこかに移動してください。
#mkdir /usr/sato
#mv /usr/local/etc/rc.d/wide-dhcps.sh.sample /usr/sato/wide-dhcps.sh.sample
5) 確認
#ifconfig -a でed1のIPアドレスを確認する 192.168.13.7のはずです
#/usr/local/sbin/dhcpc -r -n ed1
#ifconfig -a でed1のIPアドレスを確認する 210.rrr.uuu.abcのはずです
OKなら
#reboot し、#ifconfig -a で、ed1 がDHCPからグローバルなアドレスが割り当てられているかを確認する。
pingがep0,ed1のどちらも通るか確認する。
#ping -c 3 210.rrr.uuu.ttt (CATVのルータなどにpingを3回くらいかけてみる)
#ping -c 3 192.168.13.1 (MN128SOHOのアドレスなどにpingを3回くらいかけてみる)
#ee /etc/rc.local
/etc/rc.local の変更 いつもFreeBSD起動時にチェックできるように、/etc/rc.localの最後に
netstat -rn
ping -c 3 210.rrr.uuu.ttt
ping -c 3 192.168.13.1
ifconfig -a
tcpdump -i ed1 -eを入れておくと良いかも、、、
8.3 ip_fil3.2.10.tar.gz (IP Filter)のインストール&設定
IP Filter Current version: 3.2.10
http://coombs.anu.edu.au/~avalon/
ip_fil3.2.10.tar.gzを、Windowsで1.44MBのFDにダウンロードする。
1) IP Filterのダウンロード&コピー
#mount -t msdos /dev/fd0 /mnt
#cp /mnt/ip_fil3.2.10.tar.gz /
#cd /
#tar zxvf ip_fil3.2.10.tar.gz で /ip_fil3.2.10 が解凍される
#mv /ip_fil3.2.10 /usr/local/bin/
#umount /mnt
#ee /usr/local/bin/ip_fil3.2.10/INST.FreeBSD-2.2 でインストール方法を確認する。
2) IP Filterのインストール
1.#cd /usr/src/sys/i386/conf
#cp MYKERNEL FIREWALL
#config FIREWALL
2.#cd /usr/local/bin/ip_fil3.2.10
#make freebsd22 IPFILKERN=FIREWALL
3.#make install-bsd
4.#FreeBSD-2.2/minstall
Kernal configuration to update [FIREWALL] [returnキー]
5.#cd /usr/src/sys/i386/conf
#config FIREWALL
#cd /usr/src/sys/compile/FIREWALL
#make depend;make
6.#make install
7./etc/rc.local に追加する
#ee /etc/rc.local
/etc/rc.local の変更 modload /lkm/if_ipl.o ←モジュールを読み込む
ipnat -f /etc/natrules ←NAT 変換ルールを読み込む
sysctl -w net.inet.ip.forwarding=1 ←ルーティングを有効化
8./etc/natrules を次のように作成する
#ee /etc/natrules
/etc/natrules の変更 map ed1 192.168.13.0/24 -> 210.rrr.uuu.abc/32 portmap tcp/udp 10000:65000
ep0のプライベートの192.168.13.0/24(192.168.13.1〜192.168.13.254までの254台分)までの
IPアドレスをed1のグローバルのdhcpcで割り当てられたアドレスに変換する。ed1はNICの外部CATV側
192.168.13.0はep0の内部側
210.rrr.uuu.abc は、dhcpcで割り当てられたグローバルなアドレスにする。
#ifconfig -a で確認できる(ed1のアドレス) これは、自動的にならないので強制的に入力する。注)ed1のdhcpcからのアドレスが変わったら210.rrr.uuu.abcを変更すること。
DHCPCによるIPアドレス配給が変わっても
map ed1 192.168.13.0/24 -> 0/32 portmap tcp/udp 10000:65000
とすればよいとの情報もあります。
9./etc/rc.conf に追加する
#ee /etc/rc.conf
/etc/rc.conf の変更 defaultrouter="NO"
static_routes="foo"
route_foo="192.168.13.0 -netmask 0xffffff00 -interface 192.168.13.11"
gateway_enable="YES"
router_enable="NO"
router="routed"
router_flags="-q""foo" は 識別子なので,上の2行が同じ識別子であればよい.
192.168.13.11は、ローカル側のNIC(ep0)のアドレスnetwork_interfaces="ep0 ed1 lo0"
ifconfig_ep0="inet 192.168.13.11 netmask 255.255.255.0"
ifconfig_ed1="inet 192.168.13.7 netmask 255.255.255.0" ←あとでdhcpcで書き換えられる
ifconfig_lo0="inet 127.0.0.1"
10.#reboot
11.確認
ipnat -ls ←To check and see if it is loaded, as root type
ifconfig -a
netstat -rn
ここまでのインストールで、ローカルなLANから192.168.13.11をゲートウエイとして、
210.rrr.uuu.abcのアドレスでインターネットのアクセスができるようになります。
家庭内LANからインターネットへは、wwwとメールとブラウザからのftpは問題ありませんが、
Fetchのftpはサーバーによって通らないものもありました(Fetch設定不備!?)。
外からのアクセスについては、WWW,FTPとも問題はないようです。
注)PASV(パッシブモード)転送の設定が出来るFTPソフトであれば、この設定をすることにより、
FTPが可能となります。(poohさん情報有り難うございました)1999.9