初心者もOK! FreeBSD質問スレッド その5

このエントリーをはてなブックマークに追加
145いかついぜ、俺
まとめです。
FreeBSD4.3をALLでインストールしてからの設定。
natを使うために
options IPFIREWALL
options IPDIVERT
を追加して、kernelを再構築する。
以下は、設定した全ファイルの記述です。
/etc/dhclient.confの記述
send host-name "ホスト名";

/etc/rc.confの記述
inetd_enable="YES"
kern_securelevel_enable="NO"
sendmail_enable="YES"
sshd_enable="YES"
hostname="myserver.lan.net"
keymap="jp.106"
network_interfaces="lo0 rl0 xl0"
ifconfig_rl0="DHCP"
ifconfig_xl0="inet 192.168.0.1 netmask 255.255.255.0"
gateway_enable="YES"
firewall_enable="YES"

wide-dhcpをインストール。
/usr/local/share/examples/dhcp/dhcpdb.pool.sampleに/etc/dhcpdb.poolのサンプルが
あるので、それを基に/etc/dhcpdb.poolを以下のように記述。
そして、コピーしたサンプルを基に編集する。
vi /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. . .
# 'dnsv' is IP address of DNS server.
# 'dnsd' is domain name of your domain.
subnet30:tblc=global:rout=192.168.0.1:dht1=500:dht2=850:\
:brda=192.168.0.255:dnsv=192.168.0.1:dnsd=lan.net:

# entries for manual allocation (DHCP, BOOTP)
#3001: :ipad=133.4.30.1:hstn="yourclient1.host.name":tblc=subnet30:clid="1:0x00
80c75fdc03":
#3002: :ipad=133.4.30.2:hstn="yourclient2.host.name":tblc=subnet30:clid="1:0x08
004600e5d5":

# entries for dynamic allocation (DHCP)
#3003: :ipad=133.4.30.3:dfll=3600:maxl=7200:tblc=subnet30:
#3004: :ipad=133.4.30.4:dfll=3600:maxl=7200:tblc=subnet30:

# entries for dynamic / automatic allocation (DHCP)
3005: :maxl=0xffffffff:ipad=192.168.0.2:tblc=subnet30:
3006: :maxl=0xffffffff:ipad=192.168.0.3:tblc=subnet30:
3007: :maxl=0xffffffff:ipad=192.168.0.4:tblc=subnet30:
3008: :maxl=0xffffffff:ipad=192.168.0.5:tblc=subnet30:

# entries for automatic allocation (BOOTP)
#3007: :ipad=133.4.30.7:albp=true:tblc=subnet30:
#3008: :ipad=133.4.30.8:albp=true:tblc=subnet30:
146いかついぜ、俺:2001/08/06(月) 20:02
続きです

touch /etc/dhcpdb.relayで空のファイルを作成。

/usr/local/etc/rc.d/wide-dhcps.shをviで開き、[Interface Name]のところに内側のLANカードのデバイス名xl0をいれる。

/etc/rc.firewallのバックアップを別名でとり、新規作成で/etc/rc.firewallを作成して以下のように記述.
sleep 10
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via ケーブルモデム側のLANカードデバイス名(rl0)
/sbin/ipfw add pass all from any to any

/usr/local/etc/rc.dにnatd.shを新規作成して、以下のように記述.
#!/bin/sh
sleep 10
natd -interface rl0(モデム側)

実行ファイルにするために、
chmod +x natd.shとコンソールで入力.

rebootして、/var/db/dhcpdb.bindを消して、dhcps xl0と入力してdhcp serverをたてる。
いま、/var/db/dhclient.leasesを確認してみたら、全く同じ文章が2つあったので、一旦で削除したらうまくnatが機能しました!
感動です・・・・・・!!!
いつも起動するたびに、dhcpdb.bindを消してから、dhcos xl0とやるのではなく自動化することはできないのでしょうか?
長文失礼しました。