DJBツールのIPv6化

以下のテキストは、執筆時当時の情報を元に書いたものであり、 現在の情勢にそぐわないことを含む場合があるので注意されたい。 また、テキストは最終提出原稿で校正を経る前のものなので、実際にUNIXUSER 本誌に記載されたものとは異なる。誤字脱字等そのままである。

致命的な誤り以外は加筆修正等は行なわないので情報の鮮度に気をつけつつ 利用して欲しい。

目次

註1: 元記事では末尾に、DJBツールのIPv6化の未来と言う題材の文章を 載せたが、これはまったく現状に即していないので削除した。現状 DJBはIPv6に対しては憂慮の見解を持っている。筆者自身も最近では 「IPv6は流行らないんではないか…」と懐疑的になっている。 しかし、IPv6を消滅させるだけのものがすぐに登場するとも思えない点、 djbツール自体の寿命がおそろしく長い点を考慮すると「djbツール+IPv6パッチ」 の組み合わせでIPv6を使うのが最も低コストであるのは疑いの余地がない。

註2: テキスト中IPv6アドレスの逆引きの例があるが、最近の hostコマンドではIPv6アドレスのPTRレコードを、IPv6アドレス表記のまま 求められるようになっている。試してみると良い。


Part 6 IPv6DJB

IPv6
IPv6
IPv6BINDSendmail
DJBDJB
IPv6



Part6DJBIPv6IPv6
IPv6



DJBIPv6


qmail


IPv6qmail

IPv6IPv6
DJB
 ucspi-tcp 
 ucspi-tcp IPv6IPv6


Part2Part4ucspi-tcp(tcpserver), djbdns, qmail 
IPv6ucspi-tcp IPv6 
publicfiletcpserver
IPv6



ucspi-tcpIPv6


tcpserver
ucspi-tcpIPv6
IPv6
 ucspi-tcp 
IPv6


	* IPv6  inetd(or xinetd)
	* courier-tcpd

BSDOSinetd
tcp_wrappers(libwrap) IPv6
inetddaemontools

courier-tcpd ucspi-tcp  
 couriertcpd 

---[ ]------------------------------------------------------------
http://www.courier-mta.org/
http://www.courier-mta.org/couriertcpd.html
----------------------------------------------------------------------
IPv6
ucspi-tcp 


IPv4
 ucspi-tcp IPv6

ucspi-tcp IPv6

Felix von Leitner  IPv6 
http://www.fefe.de/ucspi/ 
http://www.fefe.de/ucspi/ucspi-tcp-0.88-ipv6.diff10.bz2 
CD-ROMIPv6ucspi-tcp
nroffIPv6

IPv4

ucspi-tcp IPv6

ucspi-tcp IPv6

	* IPv6
	* IPv6
	* tcpserver(run)

2

IPv6

Part2 ucspi-tcp 

	# cd ucspi-tcp-0.88
	# bzcat /ucspi-tcp-0.88-ipv6.diff10.bz2 | patch -p1

ucspi-tcp-0.88 
ucspi-tcp-0.88.tar.gz  conf-* 


	# make clean
	# make



	# make setup check
	# mkdir -p /usr/local/man/man1
	# cp *.1 /usr/local/man/man1
	# mkdir -p /usr/local/man/man5
	# cp *.5 /usr/local/man/man5

 tcpserver 



	# cd /usr/local/bin
	# mv tcpserver tcpserver.orig

tcpserver
tcpserver  install 

	# make setup check
	./install
	install: fatal: unable to write .../bin/tcpserver: text busy
	*** Error code 111


 djbdns, qmail 

IPv6

 tcpserver IPv6IPv6
IPv4

	3ffe:8088:b::1:allow

IPv6 : 


	3ffe:8088:b::allow

16(:):
3ffe:8088:b::/48
IPv6



IPv6 IPv6 localhost ::1 


	::1:allow,RELAYCLIENT=""



IPv4-mapped IPv6

IPv6 tcpserver  -6  "Force IPv6
mode"  IPv4 
IPv6 "IPv4-mapped
IPv6" (IPv4)IPv4 IPv6 
IPv4IPv4
 IPv6 ()80016
1IPv4
IPv4

	::ffff:x.y.z.w (x.y.z.wIPv4)



	127.0.0.:allow,RELAYCLIENT=""

IPv4

	::ffff:127.0.0.:allow,RELAYCLIENT=""

 "::ffff" tcpserver 
-6 



tcprules cdb
Part2


--[ IPv4]-------------------------------------------
OSIPv6IPv4

NetBSD net.inet6.ip6.bindv6only 
1IPv4(0)
/etc/sysctl.conf 

	net.inet6.ip6.bindv6only=0



	# sysctl -w net.inet6.ip6.bindv6only=0

IPv4Listen tcpserver 
IPv4
IPv4
IPv6
----------------------------------------------------------------------

tcpserver

IPv6 tcpserver IPv6
daemontools
svc

	# svc -d 
	# svc -u 

tcp6 ::1 
qmail-smtpd

	% telnet ::1 25
	  ~~~~~~~~~~~~~
	Trying ::1...
	Connected to ::1.
	Escape character is '^]'.
	220 venus.foo.ymzk.org ESMTP



Tips

 IPv6 
tcpserver 
run 

	tcpserver -c40 -xfoo.cdb 0 1234 food



food  foo.sh 


	tcpserver -c40 -xfoo.cdb 0 1234 ./foo.sh

./foo.shfoodaemon


	--[ ./foo.sh ]---------------------------
	#!/bin/sh
	env > /tmp/foo.env
	exec food "$@"
	-----------------------------------------

 /tmp/foo.env 
 tcpserver 
 run 



djbdnsIPv6


IPv432IPv6128DNS
(PTR)IPv4
() /24
 1254 
IP13

	1	IN	PTR	hoge.foo.ymzk.org.
	2	IN	PTR	buha.foo.ymzk.org.
	   :
	254	IN	PTR	baz.foo.ymzk.org.

IPv6128
6464
4
BIND


	1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN   PTR  trx.ymzk.org.


IPv6

()
djbdns


trx.ymzk.org  3ffe:8088:b::1 


	# ./add-host6 trx.ymzk.org 3ffe:8088:b::1
	# make

(AAAA)(PTR)
BIND

IPv6IPv6
djbdns


djbdns-1.05 IPv6

ucspi-tcpIPv6 Felix von Leitner  djbdns IPv6
http://www.fefe.de/dns/ 
 djbdns-1.05-test16 


djbdns-1.05 IPv6

Part3 djbdns-1.05.tar.gz 
djbdns-1.05-test16.diff.bz2 

	# cd djbdns-1.05
	# bzcat /djbdns-1.05-test16.diff.bz2 \
		| patch -p1

&

	# make clean
	# make
	# make setup check

djbdns svc -d 


IPv6

DNSIPv6IPv6
()
IPv6()
 "experimental" 
IPv6

IPv4
IPv6 
IPv4 

AAAA  IN6.INT.

djbdns+IPv6RFC1886 IPv6 DNS
IPv6AAAAIPv6
 IP6.INT. 
RFC2874A6INT6.ARPA.
INT6.ARPA
ISP
djbdnsdjbdns+IPv6


AAAA

Part3IPv4tinydns
DNSIPv6


	IPv6	3ffe:8088:b:5555::/64
				foo.ymzk.org
				ns.foo.ymzk.org (10.0.2.53)
			/service/tinydns

/service/tinydns/root data
IPv6 add-host6 


	# cd /service/tinydns/root
	# ./add-host6 v6gate.foo.ymzk.org 3ffe:8088:b:5555::1

data

	6v6gate.foo.ymzk.org:3ffe8088000b55550000000000000001:86400

add-host6 

    ./add-host6  

data 

	6::86400

IPv616
326


  	6::::
  
AAAAIPv6
IPv6


djbdns+IPv6 add-alias6 
add-aliasIPv6


	./add-alias6  

data

	3::86400

3
6



IPv6DNS
djbdns

 3ffe:8088:b:5555::/64 

	5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int

 ns.foo.ymzk.org(10.0.2.53)


	# ./add-ns 5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int \
		10.0.2.53

data

	.5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int:10.0.2.53:a:259200

 a 


	.5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int::ns.foo.ymzk.org:259200

(.)IPv6
Part3

tinydns-data cdb


IPv6


IPv6
 

	5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int

NS

	% host -t ns 5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int.
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int name server ns.foo.ymzk.org

IPv6
 v6gate.foo.ymzk.org 3ffe:8088:b:5555::1 


% host -t ptr 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5.5.5.5.b.0.0.0.8.8.0.8.e.f.f.3.ip6.int

()

domain name pointer IPv6

IPv6
IPv6
 ip6.int 
 http://www.gentei.org/~yuuji/software/rev6 




qmailIPv6


WebMail
IPv6qmailIPv6
IPv6
IPv6(DNS
)IPv6!
MTAIPv6qmailIPv6IPv6


qmail-1.03 IPv6

qmailIPv6Felix von Leitner 
IPv6 

---[ ]------------------------------------------------------------
qmailDJB()

----------------------------------------------------------------------
 Fujiwara, Kazunori  IPv6
---[ ]------------------------------------------------------------
http://pyon.org/fujiwara/
----------------------------------------------------------------------

qmail-1.03 IPv6

Fujiwaraqmail IPv6
http://pyon.org/fujiwara/qmail-1.03-v6-20001010.diff 
 qmail-1.03 

	# cd qmail-1.03
	# patch -p1 < /qmail-1.03-v6-20001010.diff

make

	# make clean
	# make
	# make setup check

qmail

qmail-1.03+IPv6

IPv6
 IPv6 SMTP
 qmail-smptd 
IPv6 tcpserver 
IPv6qmailIPv6
SMTPIPv6







yuuji@gentei.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]