version=pmwiki-2.2.130 ordered=1 urlencoded=1 agent=Mozilla/5.0 (X11; OpenBSD amd64; rv:76.0) Gecko/20100101 Firefox/76.0 author=jrmu charset=UTF-8 csum= ctime=1597060209 host=38.81.163.143 name=Openbsd.IPv6 rev=3 targets= text=IPv6 is needed to deal with the lack of IPv4 addresses. Far more devices are now on the Internet than there are IPv4 addresses available, so that the price of getting an IPv4 address is increasing. IPv6 was designed with a 128-bit address, which will give us far more IPv6 addresses than we will ever need.%0a%0aUnfortunately, IPv6 is not backwards compatible with IPv4. IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to be able to connect with older IPv4-only devices and newer IPv6-only devices. It costs more money and takes more work, but it is worth it to avoid losing users.%0a%0aIPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a%0aWith IPv6, each server is given a subnet rather than a single IPv4 address. A /64 subnet contains more IPv6 addresses than humans on planet Earth, so you can provide a unique address for each user. For IRC, this means you can provide a custom vhost for each user. For web hosting, this means you can provide a custom subdomain for each user.%0a%0aIn DNS, the IPv6 addresses of hostnames are based on AAAA records. It is necessary to have both the AAAA record and the rDNS match in order to get email messages accepted from major email providers as well as to get the correct vhost for IRC. time=1597242098 author:1597242098=jrmu diff:1597242098:1597241612:=3,9c3,5%0a%3c Unfortunately, IPv6 is not backwards compatible with IPv4. IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to be able to connect with older IPv4-only devices and newer IPv6-only devices. It costs more money and takes more work, but it is worth it to avoid losing users.%0a%3c %0a%3c IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a%3c %0a%3c With IPv6, each server is given a subnet rather than a single IPv4 address. A /64 subnet contains more IPv6 addresses than humans on planet Earth, so you can provide a unique address for each user. For IRC, this means you can provide a custom vhost for each user. For web hosting, this means you can provide a custom subdomain for each user.%0a%3c %0a%3c In DNS, the IPv6 addresses of hostnames are based on AAAA records. It is necessary to have both the AAAA record and the rDNS match in order to get email messages accepted from major email providers as well as to get the correct vhost for IRC.%0a\ No newline at end of file%0a---%0a> Unfortunately, IPv6 is not backwards compatible with IPv4. Older IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to avoid losing users. This will increase the work for sysadmins. %0a> %0a> IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a\ No newline at end of file%0a host:1597242098=38.81.163.143 author:1597241612=jrmu diff:1597241612:1597060209:=1,5c1,106%0a%3c IPv6 is needed to deal with the lack of IPv4 addresses. Far more devices are now on the Internet than there are IPv4 addresses available, so that the price of getting an IPv4 address is increasing. IPv6 was designed with a 128-bit address, which will give us far more IPv6 addresses than we will ever need.%0a%3c %0a%3c Unfortunately, IPv6 is not backwards compatible with IPv4. Older IPv4-only devices are unable to connect to IPv6-only devices without special tunnels. As a result, all of our servers must be dual-stack and support both IPv4 and IPv6 in order to avoid losing users. This will increase the work for sysadmins. %0a%3c %0a%3c IPv6 addresses are written as eight groups, separated by colons, of four hexadecimal digits. Often, we shorten the addresses, so that 2001:0db8:0000:0000:0000:8a2e:0370:7334 becomes 2001:db8::8a2e:370:7334. The two colons mean that everything in between is just zeros.%0a\ No newline at end of file%0a---%0a> If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a> %0a> Openbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a> %0a> Replace if with your own device name. Inside /etc/hostname.if0, put:%0a> %0a> [@%0a> inet 192.168.1.2 255.255.255.0%0a> inet alias 192.168.1.3 255.255.255.0%0a> inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a> inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a> inet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0a> inet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0a> inet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0a> inet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a> inet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0a> inet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0a> inet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0a> inet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0a> inet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0a> inet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0a> inet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0a> inet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0a> inet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0a> inet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0a> inet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0a> inet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0a> inet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0a> inet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0a> inet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0a> inet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0a> inet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0a> inet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0a> inet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0a> inet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0a> inet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0a> inet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0a> inet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0a> inet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0a> inet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0a> inet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0a> inet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a> @]%0a> %0a> Let's look at the first two lines:%0a> %0a> %3ccode>%0a> inet 192.168.1.2 255.255.255.0%0a> inet alias 192.168.1.3 255.255.255.0%0a> %3c/code>%0a> %0a> The first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a> %0a> Let's look at lines 3 and 4:%0a> %0a> %3ccode>%0a> inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a> inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a> %3c/code>%0a> %0a> The first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a> %0a> You will also need to specify the default gateway in /etc/mygate:%0a> %0a> %3ccode>%0a> 192.168.1.1%0a> 2001:0db8:0000:0000::1%0a> %3c/code>%0a> %0a> Sometimes, to restart networking, I will run:%0a> %0a> %3ccode>%0a> $ doas sh /etc/netstart%0a> %3c/code>%0a> %0a> But this doesn't seem to properly reset the networking sometimes.%0a> %0a> Watch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a> %0a> If you later decide you want to add a new ipv6 address, use ifconfig:%0a> %0a> %3ccode>%0a> $ doas ifconfig if0 inet6 2001:0db8::/64%0a> %3c/code>%0a> %0a> To delete the IPv6 address:%0a> %0a> %3ccode>%0a> $ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a> %3c/code>%0a> %0a> Replace if0 with your specific interface.%0a> %0a> ----%0a> %0a> To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a> %0a> %3ccode>%0a> $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a> nick newnick%0a> user newuser * * :newuser%0a> PING :12345%0a> PONG :12345%0a> %3c/code>%0a> %0a> If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a host:1597241612=38.81.163.143 author:1597060209=jrmu diff:1597060209:1597060209:=1,106d0%0a%3c If you chose DHCP when first installing the OS, you may want to edit the networking configuration manually (to switch to a static IP).%0a%3c %0a%3c Openbsd requires one hostname.if per device, where the letters 'if' are replaced with an abbreviation followed by a device number. So, for example, an Atheros IEEE 802.11a/b/g/n wifi device is abbreviated by athn0, and will need an /etc/hostname.athn0 file.%0a%3c %0a%3c Replace if with your own device name. Inside /etc/hostname.if0, put:%0a%3c %0a%3c [@%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c inet6 alias 2001:0db8:0000:0000:1465:fed1:8daf:66ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:11b4:4a36:2941:d6bd 48%0a%3c inet6 alias 2001:0db8:0000:0000:ad2c:5b99:2b1a:89d1 48%0a%3c inet6 alias 2001:0db8:0000:0000:921d:28ad:4729:8d93 48%0a%3c inet6 alias 2001:0db8:0000:0000:c9bb:45f7:c494:1fc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:5142:9b81:dec2:186c 48%0a%3c inet6 alias 2001:0db8:0000:0000:a118:dd85:a14f:72d7 48%0a%3c inet6 alias 2001:0db8:0000:0000:91f2:4943:de98:c9d5 48%0a%3c inet6 alias 2001:0db8:0000:0000:18a4:1ca3:5d31:2ddc 48%0a%3c inet6 alias 2001:0db8:0000:0000:31af:1656:16cf:611a 48%0a%3c inet6 alias 2001:0db8:0000:0000:8d27:5b44:3e75:4b86 48%0a%3c inet6 alias 2001:0db8:0000:0000:a259:79f6:fa54:a5e2 48%0a%3c inet6 alias 2001:0db8:0000:0000:59d8:f8ae:18a3:3644 48%0a%3c inet6 alias 2001:0db8:0000:0000:1dc7:c1c7:7b16:1151 48%0a%3c inet6 alias 2001:0db8:0000:0000:1c46:b131:e9de:edc1 48%0a%3c inet6 alias 2001:0db8:0000:0000:e72b:6165:b6fb:161f 48%0a%3c inet6 alias 2001:0db8:0000:0000:244c:47c2:f8fd:4bc2 48%0a%3c inet6 alias 2001:0db8:0000:0000:f664:e887:826d:64c5 48%0a%3c inet6 alias 2001:0db8:0000:0000:f8e7:1ca5:4852:9e78 48%0a%3c inet6 alias 2001:0db8:0000:0000:59e5:7568:ab7f:289f 48%0a%3c inet6 alias 2001:0db8:0000:0000:111e:6834:a1b1:64ff 48%0a%3c inet6 alias 2001:0db8:0000:0000:de32:1311:18d4:6f8b 48%0a%3c inet6 alias 2001:0db8:0000:0000:5714:1f81:156f:572b 48%0a%3c inet6 alias 2001:0db8:0000:0000:2589:ad14:872a:fa94 48%0a%3c inet6 alias 2001:0db8:0000:0000:5b15:e14f:812e:fa84 48%0a%3c inet6 alias 2001:0db8:0000:0000:5982:9c11:c2eb:c6ed 48%0a%3c inet6 alias 2001:0db8:0000:0000:abaf:88e4:69e1:f2a5 48%0a%3c inet6 alias 2001:0db8:0000:0000:a52b:5de1:ceba:b65a 48%0a%3c inet6 alias 2001:0db8:0000:0000:7e8b:f585:f2e7:66a1 48%0a%3c inet6 alias 2001:0db8:0000:0000:46ad:1add:cb77:154b 48%0a%3c inet6 alias 2001:0db8:0000:0000:b664:368a:d94b:3ce8 48%0a%3c @]%0a%3c %0a%3c Let's look at the first two lines:%0a%3c %0a%3c %3ccode>%0a%3c inet 192.168.1.2 255.255.255.0%0a%3c inet alias 192.168.1.3 255.255.255.0%0a%3c %3c/code>%0a%3c %0a%3c The first line will set the device to use the static IP 192.168.1.2 with subnet mask 255.255.255.0. The second line will allow the device to use a second static IP, 192.168.1.3. It will be aliased to the first and have the same subnet mask.%0a%3c %0a%3c Let's look at lines 3 and 4:%0a%3c %0a%3c %3ccode>%0a%3c inet6 2001:0db8:0000:0000:0000:0000:0000:0000 48%0a%3c inet6 alias 2001:0db8:0000:0000:9b1d:3511:387e:143a 48%0a%3c %3c/code>%0a%3c %0a%3c The first one sets the device to use the static IPv6 address 2001:0db8:: with a /48 subnet, and the second one creates another IPv6 address 2001:0db8:0000:0000:9b1d:3511:387e:143a with a /48 subnet, aliased to the first IPv6 address. In this way, you can create dozens of unique IPv6 addresses so that each user on a shell account or bouncer can get a unique IPv6 address.%0a%3c %0a%3c You will also need to specify the default gateway in /etc/mygate:%0a%3c %0a%3c %3ccode>%0a%3c 192.168.1.1%0a%3c 2001:0db8:0000:0000::1%0a%3c %3c/code>%0a%3c %0a%3c Sometimes, to restart networking, I will run:%0a%3c %0a%3c %3ccode>%0a%3c $ doas sh /etc/netstart%0a%3c %3c/code>%0a%3c %0a%3c But this doesn't seem to properly reset the networking sometimes.%0a%3c %0a%3c Watch out! Iked, without the -6 flag, will block all IPv6 traffic.%0a%3c %0a%3c If you later decide you want to add a new ipv6 address, use ifconfig:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64%0a%3c %3c/code>%0a%3c %0a%3c To delete the IPv6 address:%0a%3c %0a%3c %3ccode>%0a%3c $ doas ifconfig if0 inet6 2001:0db8::/64 delete%0a%3c %3c/code>%0a%3c %0a%3c Replace if0 with your specific interface.%0a%3c %0a%3c ----%0a%3c %0a%3c To test if an IPv6 address is working, you can use netcat to connect to an IRC network that supports IPv6:%0a%3c %0a%3c %3ccode>%0a%3c $ nc -s 2001:0db8:: ipv6.ircnow.org 6667%0a%3c nick newnick%0a%3c user newuser * * :newuser%0a%3c PING :12345%0a%3c PONG :12345%0a%3c %3c/code>%0a%3c %0a%3c If that loads a message, then you configured the IPv6 address 2001:0db8:: correctly.%0a\ No newline at end of file%0a host:1597060209=38.81.163.143