File: 0014-Use-RFC8215-WKP-by-default.patch

package info (click to toggle)
tayga 0.9.2-11
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 768 kB
  • sloc: ansic: 7,135; sh: 1,234; makefile: 18
file content (128 lines) | stat: -rw-r--r-- 5,691 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Description: Use RFC 8215 WKP (64:ff9b:1::/48) by default
 This lifts limitations regarding RFC 1918 addressing and allows starting
 tayga by default in good conscience. Previously a prefix from the
 2001:db8::/32 documentation prefix was used which users may confuse for a
 viable default configuration despite this being a bogon network.
Origin: Debian
Forwarded: no
--- a/tayga.conf.example
+++ b/tayga.conf.example
@@ -41,7 +41,7 @@ ipv4-addr 192.168.255.1
 # mandatory if the NAT64 prefix is 64:ff9b::/96 and ipv4-addr is a private
 # (RFC1918) address.
 # 
-#ipv6-addr 2001:db8:1::2
+#ipv6-addr 64:ff9b:1::2
 
 #
 # The NAT64 prefix.  The IPv4 address space is mapped into the IPv6 address
@@ -49,18 +49,17 @@ ipv4-addr 192.168.255.1
 # recommended in most situations, but all lengths specified in RFC 6052 are
 # supported.
 #
-# This must be a prefix selected from your organization's IPv6 address space
-# or the Well-Known Prefix 64:ff9b::/96.  Note that using the Well-Known
-# Prefix will prohibit IPv6 hosts from contacting IPv4 hosts that have private
-# (RFC1918) addresses, per RFC 6052.
+# This must be a prefix selected from your organization's IPv6 address
+# space or the RFC 8215 Well-Known Prefix 64:ff9b:1::/48.  Note either
+# choice allows use of RFC 1918 addresses on the IPv4 side.
 #
 # The NAT64 prefix need not be specified if all required address mappings are
 # listed in `map' directives.  (See below.)
 #
 # Optional.
 #
-prefix 2001:db8:1:ffff::/96
-# prefix 64:ff9b::/96
+prefix 64:ff9b:1::/96
+# prefix 2001:db8:1:ffff::/96
 
 #
 # Dynamic pool prefix.  IPv6 hosts which send traffic through TAYGA (and do
@@ -97,6 +96,6 @@ data-dir /var/spool/tayga
 #
 # Optional.
 #
-#map 192.168.5.42 2001:db8:1:4444::1
-#map 192.168.5.43 2001:db8:1:4444::2
-#map 192.168.255.2 2001:db8:1:569::143
+#map 192.168.5.42 64:ff9b:1:4444::1
+#map 192.168.5.43 64:ff9b:1:4444::2
+#map 192.168.255.2 64:ff9b:1:569::143
--- a/README
+++ b/README
@@ -2,7 +2,7 @@
                            README for TAYGA v0.9.2
 ******************************************************************************
 
-Last updated 2010-12-12
+Last updated 2025-11-14
 
 --------
 Overview
@@ -59,20 +59,22 @@ states that a 32-bit IPv4 address should
 prefix, which we call the NAT64 prefix, and the resulting IPv6 address can be
 used to contact the IPv4 host through the NAT64.
 
-The NAT64 prefix should be assigned out of a site's global IPv6 address
-allocation.  For example, if a site is allocated 2001:db8:1::/48, the prefix
-2001:db8:1:ffff::/96 could be set aside for NAT64.  (There are several options
-for the length of the NAT64 prefix, but a /96 is recommended.)  The IPv4 host
-198.51.100.10 could then be accessed through the NAT64 using the address
-2001:db8:1:ffff::c633:640a.  Conveniently, it is possible to use the syntax
+The NAT64 prefix should be assigned out of the RFC 8215 well-known prefix:
+64:ff9b:1::/48. Do not confuse this with the RFC 6052 well-known prefix:
+64:ff9b::/96! This older /96 prefix allocation is adjacent but distinct
+from the newer /48 prefix, but since it prohibits the use of private IPv4
+(RFC 1918) address space on the IPv4 side of the translator it's often too
+limiting.
+
+Alternatively a network specific prefix can be carved from your site's
+global IPv6 address allocation: For example, if your site was allocated
+2001:db8:1::/48, the prefix 2001:db8:1:ffff::/96 could be set aside for
+NAT64.  (There are several options for the length of the NAT64 prefix, but
+a /96 is recommended.)  The IPv4 host 198.51.100.10 could then be accessed
+through the NAT64 using the address 2001:db8:1:ffff::c633:640a.
+Conveniently, it is possible to use the syntax
 2001:db8:1:ffff::198.51.100.10 instead.
 
-RFC 6052 also specifies a Well-Known Prefix 64:ff9b::/96 which can be used for
-NAT64 service rather than allocating a prefix from the site's IPv6 address
-block.  However, this comes with several restrictions, primarily that hosts
-with private IPv4 addresses (10.x.x.x, 192.168.x.x, etc) cannot be accessed
-through the NAT64.  See RFC 6052 for more information.
-
 If NAT64 service is needed for only a few hosts instead of the entire IPv4
 address space, TAYGA can be configured without a NAT64 prefix, and address
 maps can be assigned on a host-by-host basis.
@@ -129,8 +131,7 @@ site.  Here is a sample minimal configur
 
   tun-device nat64
   ipv4-addr 192.168.255.1
-  prefix 2001:db8:1:ffff::/96     # replace with a prefix from
-                                  # your site's address range
+  prefix 64:ff9b:1::/96
   dynamic-pool 192.168.255.0/24
   data-dir /var/db/tayga          # omit if you do not need persistent
                                   # dynamic address maps
@@ -146,15 +147,13 @@ continuing.  Otherwise, the new nat64 in
 proper routes can be added to your system:
 
   # ip link set nat64 up
-  # ip addr add 2001:db8:1::1 dev nat64  # replace with your router's address
-  # ip addr add 192.168.0.1 dev nat64    # replace with your router's address
-  # ip route add 2001:db8:1:ffff::/96 dev nat64  # from tayga.conf
-  # ip route add 192.168.255.0/24 dev nat64      # from tayga.conf
+  # ip route add 64:ff9b:1::/96 dev nat64    # from tayga.conf
+  # ip route add 192.168.255.0/24 dev nat64  # from tayga.conf
 
 Firewalling your NAT64 prefix from outside access is highly recommended:
 
-  # ip6tables -A FORWARD -s 2001:db8:1::/48 -d 2001:db8:1:ffff::/96 -j ACCEPT
-  # ip6tables -A FORWARD -d 2001:db8:1:ffff::/96 -j DROP
+  # ip6tables -A FORWARD -s 2001:db8:1::/48 -d 64:ff9b:1::/96 -j ACCEPT
+  # ip6tables -A FORWARD -d 64:ff9b:1::/96 -j DROP
 
 At this point, you may start the tayga process: