dhclient-script

dhclient-scriptを書き変えるのではなく、$ENTERHOOKS と $EXITHOOKS のファイルを書き変えよ。これNetBSD。 お、FreeBSD は enterhooks と exithooks ファイルはそれぞれ、 /etc/dhclient-enter-hooks, /etc/dhclient-exit-hooks ファイ ル。

resolv.conf を書き変えられたくなかったら、 dhclient-enter-hooks で、make_resolv_conf 関数を 再定義すべし。make_resolv_conf(){} でええじゃろ。

で、dhclient-script が呼ばれるときに設定されている環境変数はこんな感じ。

PATH=/usr/bin:/usr/sbin:/bin:/sbin
interface=aue0
new_broadcast_address=10.0.0.255
new_dhcp_lease_time=3600
new_dhcp_message_type=5
new_dhcp_option_overload=3
new_dhcp_server_identifier=10.0.0.25
new_domain_name=yk.gentei.org
new_domain_name_servers=10.0.0.25
new_expiry=1043132413
new_ip_address=10.0.0.3
new_network_number=10.0.0.0
new_routers=10.0.0.95
new_subnet_mask=255.255.255.0
new_time_offset=32400
old_broadcast_address=10.0.0.255
old_dhcp_lease_time=2225
old_dhcp_message_type=5
old_dhcp_option_overload=3
old_dhcp_server_identifier=10.0.0.25
old_domain_name=yk.gentei.org
old_domain_name_servers=10.0.0.25
old_expiry=1043081615
old_ip_address=10.0.0.3
old_network_number=10.0.0.0
old_routers=10.0.0.95
old_subnet_mask=255.255.255.0
old_time_offset=32400
pid=23226
reason=BOUND

ちうこって、$new_ip_address, $new_domain_name_server, $new_routers, $interface あたりを参照すればたいていの処理はできる かな。CATVとかのDHCPによるIPアドレス配付接続で使えそう。


Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]