Last-modified:
+------------------------------+ ----| [extI/F] [intI/F] |----+----- 192.168.1.17 | www.xxx.yyy.zzz 192.168.1.1 | | : +------------------------------+ +----- 192.168.1.20
外部IP ed0 www.xxx.yyy.zzz (マシンに割り当てられたアドレス) 内部IP ed1 192.168.1.1 (プライベートアドレス)
192.168.1.17 〜 192.168.1.20
./MAKEDEV bpf0 bpf1 bpf2 bpf3
# 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.1.1:dht1=500:dht2=850:\ :brda=192.168.1.255: # entries for dynamic / automatic allocation (DHCP) 1001: :maxl=0xffffffff:ipad=192.168.1.17:tblc=internal: 1002: :maxl=0xffffffff:ipad=192.168.1.18:tblc=internal: 1003: :maxl=0xffffffff:ipad=192.168.1.19:tblc=internal: 1004: :maxl=0xffffffff:ipad=192.168.1.20:tblc=internal:global では,netmask 24 bit,使用期限 32400秒(9時間) を設定. 192.168.1.17〜192.168.1.20 の 4つのアドレスを DHCP アドレスに割り当てる.
#!/bin/sh if [ -f /etc/dhcpdb.pool -a -f /etc/dhcpdb.relay \ -a -x /usr/local/sbin/dhcps ]; then /usr/local/sbin/dhcps ed1 echo -n ' dhcps' fi
#!/bin/sh /usr/local/sbin/dhcpc ed0 echo -n ' dhcpc'ただし,この場合は dhcp より前に ネットワーク関係が呼び出されることがあるので, そのまま扱うには問題がある.
amd は非常に多機能であり,ここでは全てについて説明できない(し全機能なぞ知らない)ので, /home を NFS でマウントする例について記述する.
/home /etc/amd/home.map -cache:=inc
/default opts:=rw,intr,soft,bg,grpid,timeo=30;\ type:=nfs;fs:=${autodir}/home/${key}; user1 type:=nfs;rfs:=/home/user1;rhost:=server1 * type:=errorサーバ名 server1 に対して NFS で /home/user1 をマウントする. もちろん,server1 では /home 以下に対して export する必要がある.
mkdir /auto
amd_enable="YES"マウントポイントを /auto ,有効時間は使用後 1800秒(30分) とする.
amd_flags="-a /auto -c 1800 -k i386 -x error,noinfo,nostats -p -l syslog `cat /etc/amd/master`"
http://cheops.anu.edu.au/~avalon/ip-filter.html
make freebsd22 IPFILKERN=FIREWALL
make install-bsd
FreeBSD-2.2/minstall
map ed0 192.168.1.0/24 -> www.xxx.yyy.zzz/32 portmap tcp/udp 10000:65000プライベートアドレス 192.168.1.* の 8bit(24bit mask) アドレスを 既にed0に割り当てられているアドレス www.xxx.yyy.zzz に通して, NAT で有効になるように記述している.
modload /lkm/if_ipl.o # モジュールを読み込む
ipnat -f /etc/natrules # NAT 変換ルールを読み込む
sysctl -w net.inet.ip.forwarding=1 # ルーティングを有効化
static_routes="nat""nat" は 識別子なので,上の2行が同じ識別子であればよい.
route_nat="192.168.1.0 -netmask 0xffffff00 -interface 192.168.1.1"
network_interfaces="ed0 ed1"
ifconfig_ed0="inet www.xxx.yyy.zzz netmask 255.255.255.0"
ifconfig_ed1="inet 192.168.1.1 netmask 255.255.255.0"