095ab2251e2416fd49bca6ca64b60ca62eaf6bab
.redirects.gollum
| ... | ... | @@ -1,4 +0,0 @@ |
| 1 | ---- |
|
| 2 | -services.md: Buzzster Cerificate Authority.md |
|
| 3 | -Buzzster Cerificate Authority.md: Buzzster Trust Services.md |
|
| 4 | -Buzzster Trust Services.md: Buzzster-Trust-Services.md |
Interconnections.md
| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | +**This page lists the external Overlay Networks DN42 is connected to** |
|
| 2 | + |
|
| 3 | +| Network | IPv4 address space | IPv6 address space | TLDs | Remarks | |
|
| 4 | +|:-------------------------------------------------------|:-------------------|:-------------------|:-----|:--------| |
|
| 5 | +| [NeoNetwork](https://github.com/NeoCloud/NeoNetwork) | `10.127.0.0/16` | `fd10:127::/32` | `.neo` | | |
|
| 6 | +| [ICVPN](https://github.com/freifunk/icvpn) | `10.0.0.0/8` | `fd00::/8` | see [ICVPN-Meta](https://github.com/freifunk/icvpn-meta/) |InterCity VPN - many [freifunk](https://freifunk.net) communities interconnect here | |
|
| 7 | +| [ChaosVPN](https://wiki.hamburg.ccc.de/ChaosVPN) | `10.4.0.0/16`<br>`10.32.0.0/16`<br>`10.100.0.0/14`<br>`10.104.0.0/14`<br>`172.31.0.0/16` | - | `.hack` | Few active hosts | |
|
| 8 | +| [CRXN](https://crxn.de/docs/) | - | `fd00::/8` | `.crxn` | | |
|
| 9 | + |
Links.md
| ... | ... | @@ -1,5 +1,7 @@ |
| 1 | 1 | This is a small list of links. Some of them are informative, some educational, some funny and some entertaining. You know a link you want to share? Then edit the page and add it! |
| 2 | 2 | |
| 3 | +[List of other Overlay Networks](/Other) |
|
| 4 | + |
|
| 3 | 5 | Books: |
| 4 | 6 | - [Computer Networks -Tanenbaum](https://github.com/gsahinpi/acm361/raw/master/Computer%20Networks%20-%20A%20Tanenbaum%20-%205th%20edition.pdf) |
| 5 | 7 |
Policies.md
| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | +# Policies |
|
| 2 | + |
|
| 3 | +## Network / Port scans |
|
| 4 | + |
|
| 5 | +A network scan involves examining hosts in a network. The general aim is to find information such as open ports, software versions, and vulnerabilities. Depending on how the scan is performed, many packets are sent to the individual hosts at short intervals. |
|
| 6 | + |
|
| 7 | +### Rules |
|
| 8 | + |
|
| 9 | +There are no technically enforceable rules for port scanning (i.e., rules that apply only to port scanning; general restriction rules such as rate limits can of course be set), but that does not mean that you should just go ahead and do it - depending on how it is done, it can be perceived as very intrusive. Therefore, the following rules of politeness have become established over time: |
|
| 10 | + |
|
| 11 | +1. Announce the network scan in advance on the mailing list. |
|
| 12 | +2. Provide the option to opt out. |
|
| 13 | + |
|
| 14 | +### Opt out |
|
| 15 | + |
|
| 16 | +Unfortunately, there is currently no standard way to signal that a network should not be scanned. Several proposals have been discussed in the past - communication via BGP, via the registry, or via the mailing list. |
|
| 17 | + |
|
| 18 | +Another option would be to signal opt-outs via the wiki: |
|
| 19 | + |
|
| 20 | +| Maintainer | Network | Opt-out? | |
|
| 21 | +| --- | --- | --- | |
|
| 22 | +| `EXAMPLE-MNT` | 172.0.0.1/24 | Yes | |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +## Registry cleanup process |
|
| 26 | +This process is used to remove inactive objects based on MRT data and the git commit history. |
|
| 27 | +The process is to be executed on a regular basis (yearly). |
|
| 28 | + |
|
| 29 | +A maintainer is classified as "inactive" if the following conditions have been fulfilled: |
|
| 30 | +1. All of the ASNs the maintainer has been directly or indirectly associated with (in any way and by following all references, whether through mnt-by, admin-c, tech-c, etc. or through an ORG) have not been observed originating any prefix in the global routing table at any point within the last three years. (Determined by analyzing the daily MRT RIB dumps provided by the DN42 Global Route collector.) |
|
| 31 | +2. The maintainer has not edited any of the ASNs they are associated with in the registry within the last three years. (Determined by analyzing the git commit history.) |
|
| 32 | + |
|
| 33 | +Maintainers that are not affiliated with an ASN (whether directly or indirectly or through other maintainers) are also considered inactive regardless of whether they fulfill the above conditions. |
|
| 34 | + |
|
| 35 | +### Process |
|
| 36 | + |
|
| 37 | +Using **registry_wizard (written for v0.4.12)**: |
|
| 38 | + |
|
| 39 | +1. Download the MRT files from the Global Route Collector (GRC): |
|
| 40 | +`wget -r -np -nH --cut-dirs=1 -A "*.mrt.bz2" --reject "*:*" http://collector.dn42/` |
|
| 41 | +2. Generate a list of active ASNs based on MRT data: |
|
| 42 | +`./registry_wizard /path/to/registry mrt_activity parse /path/to/mrt/files --cutoff-time <value> --list > active_list.txt` |
|
| 43 | +3. Based on the list of active ASNs and through referencing the registry git commit log, generate a list of inactive ASNs: |
|
| 44 | +`./registry_wizard /path/to/registry mrt_activity active_asn_to_inactive --list_file /path/to/active_list.txt --cutoff-time <value> > inactive_list.txt` |
|
| 45 | +4. Generate the removal commands to remove inactive objects based on the previous list: |
|
| 46 | +`./registry_wizard /path/to/registry remove aut-num --list_file /path/to/inactive_list.txt --enable_subgraph_check` |
|
| 47 | + |
|
| 48 | +ASNs can be excluded from removal by removing them from the list produced in step 3. |
|
| 49 | + |
|
| 50 | +Manual review of a few resources (primarily those affiliated with "DN42-MNT") will be required as they cannot be removed in an automated way (for example, resources associated with an inactive maintainer that used to host the DN42 anycast DNS will be affiliated with DN42-MNT and will require manual removal). |
|
| 51 | +To identify the exact conflicts leading to the manual review requirement the following command can be used: |
|
| 52 | +`./registry_wizard /path/to/registry graph path mntner YAMAKAYA-MNT mntner DN42-MNT` (To list conflicts between YAMAKAYA-MNT and DN42-MNT) |
_Sidebar.md
| ... | ... | @@ -3,12 +3,15 @@ |
| 3 | 3 | * [Registry Authentication](/howto/Registry-Authentication) |
| 4 | 4 | * [Address Space](/howto/Address-Space) |
| 5 | 5 | * [BGP communities](/howto/BGP-communities) |
| 6 | + * [Interconnections](/internal/Interconnections) |
|
| 7 | + * [Policies](/Policies) |
|
| 6 | 8 | * [FAQ](/FAQ) |
| 7 | 9 | * [Links](/Links) |
| 8 | 10 | |
| 9 | 11 | * How-To |
| 10 | 12 | * [Wireguard](/howto/wireguard) |
| 11 | 13 | * [Openvpn](/howto/openvpn) |
| 14 | + * [Universal Network Requirements](/howto/networksettings) |
|
| 12 | 15 | * [IPsec With Public Keys](/howto/IPsec-with-PublicKeys) |
| 13 | 16 | * [Tinc](/howto/tinc) |
| 14 | 17 | * [GRE on FreeBSD](/howto/GRE-on-FreeBSD) |
| ... | ... | @@ -22,7 +25,6 @@ |
| 22 | 25 | * [Mikrotik RouterOS](/howto/mikrotik) |
| 23 | 26 | * [EdgeRouter](/howto/EdgeOS-Config) |
| 24 | 27 | * [Static routes on Windows](/howto/Static-routes-on-Windows) |
| 25 | - * [Universal Network Requirements](/howto/networksettings) |
|
| 26 | 28 | * [VyOS](/howto/vyos1.4.x) |
| 27 | 29 | * [NixOS](/howto/nixos) |
| 28 | 30 | * [GeoFeed](/howto/GeoFeed) |
| ... | ... | @@ -30,21 +32,19 @@ |
| 30 | 32 | * Services |
| 31 | 33 | * [IRC](/services/IRC) |
| 32 | 34 | * [Whois registry](/services/Whois) |
| 33 | - * [DNS](/services/DNS) |
|
| 35 | + * [DNS](/services/DNS/Overview) |
|
| 34 | 36 | * [RPKI](/services/RPKI) |
| 35 | - * [IX Collection](/services/IX-Collection) |
|
| 37 | + * [IX Collection](/services/exchanges/IX-Collection) |
|
| 36 | 38 | * [Public DNS](/services/Clearnet-Domains) |
| 37 | 39 | * [Looking Glasses](/services/Looking-Glasses) |
| 40 | + * [Pingables](/services/Pingables) |
|
| 38 | 41 | * [Automatic Peering](/services/Automatic-Peering) |
| 39 | - * [Repository Mirrors](/services/Repository-Mirrors) |
|
| 40 | 42 | * [Distributed Wiki](/services/Distributed-Wiki) |
| 41 | - * [Certificate Authority](/services/Certificate-Authority) |
|
| 43 | + * [Certificate Authority](/services/ca/Certificate-Authority) |
|
| 42 | 44 | * [Route Collector](/services/Route-Collector) |
| 43 | - * [Registry](/services/Registry) |
|
| 44 | 45 | |
| 45 | 46 | * Internal |
| 46 | 47 | * [Internal services](/internal/Internal-Services) |
| 47 | - * [Interconnections](/internal/Interconnections) |
|
| 48 | 48 | * [APIs](/internal/APIs) |
| 49 | 49 | * [Show and Tell](/internal/ShowAndTell) |
| 50 | 50 | * [Historical services](/internal/Historical-Services) |
contact.md
| ... | ... | @@ -9,13 +9,10 @@ If you would like to contact an individual network operator, you will find conta |
| 9 | 9 | * is at: dn42 /at/ groups.io, |
| 10 | 10 | * send a mail to dn42+subscribe /at/ groups.io to subscribe |
| 11 | 11 | * has [archive](https://groups.io/g/dn42) |
| 12 | -* can be accessed via [NNTP](/services/News) as well. The group is alt.net.dn42.users |
|
| 13 | 12 | |
| 14 | 13 | ## IRC |
| 15 | 14 | |
| 16 | -Channel #dn42 in [hackint](http://www.hackint.eu/) |
|
| 17 | - |
|
| 18 | -See [IRC](/services/IRC) too. |
|
| 15 | +See [IRC](/services/IRC). |
|
| 19 | 16 | |
| 20 | 17 | ## Telegram |
| 21 | 18 |
howto/networksettings.md
| ... | ... | @@ -1,3 +1,5 @@ |
| 1 | +## Important rules for Linux |
|
| 2 | + |
|
| 1 | 3 | The first rule of dn42: Always disable `rp_filter`. |
| 2 | 4 | |
| 3 | 5 | The second rule of dn42: Always disable `rp_filter`. |
| ... | ... | @@ -120,4 +122,4 @@ ip6tables -t mangle -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-m |
| 120 | 122 | |
| 121 | 123 | - **Inadequate source IP filtering**: Services with public internet access require careful source IP filtering. For example, a DNS server in DN42 might receive requests with spoofed source IPs from inside DN42 that appear to come from public internet addresses. Without proper filtering, your server could respond to these spoofed requests, potentially participating in reflection attacks or exposing internal services to the public internet. |
| 122 | 124 | |
| 123 | -Happy Routing! |
|
| ... | ... | \ No newline at end of file |
| 0 | +Happy Routing! |
internal/E-Mail-Providers.md
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | +If you have an E-Mail service and would like to test it's functionality, send an email to [[email protected]](mailto:[email protected]). You will get a response usually within a few hours. |
|
| 2 | + |
|
| 3 | +**X Mail by Bingxin.** |
|
| 4 | +* X Mail <https://mail.x.dn42> |
|
| 5 | + * Free, easy to sign up, and unlimited internal email system. |
|
| 6 | + * Use the /email command on Telegram @baka_lg_bot to register an account. |
|
| 7 | + * Or, Register at <https://mail.x.dn42/email/> |
|
| 8 | + * Having issues with registration? Send an email to [[email protected]](mailto:[email protected]) or [[email protected]](mailto:[email protected]) for assistance. |
|
| 9 | + |
|
| 10 | +**bMail by Buzzster.** |
|
| 11 | +* bMail <https://mail.bmail.dn42> |
|
| 12 | + * Free, easy and unlimited internal email system. |
|
| 13 | + * Register at <https://accounts.buzzster.dn42/register> |
|
| 14 | + |
|
| 15 | +**Free E-Mail Addresses for DN42 Users.** |
|
| 16 | +* DN42 Mail, <https://dmail.dn42> |
|
| 17 | + * Free, easy to sign up, unlimited internal emailing. Hosted by zane_reick |
|
| 18 | + * Register at <https://dmail.dn42/register/register.php> |
|
| 19 | + |
|
| 20 | +### Simplelogin server: |
|
| 21 | +* a selfhosted [Simplelogin](https://simplelogin.io/) server for dn42.cc |
|
| 22 | +* create aliases that forward to your real e-mail |
|
| 23 | +* signup at <https://simplelogin.dn42/auth/register> with a clearnet e-mail address (dn42 mail addresses are for some reason not supported by simplelogin) |
|
| 24 | + * also available via <https://sl.dn42.cc/> (except signup) |
|
| 25 | +* for "lifetime premium" (more than 5 aliases + custom domains), if you want aliases for \<anything>@\<your_mntner>.dn42.cc or experience deliverability problems please send a mail to [[email protected]](mailto:[email protected]) or [[email protected]](mailto:[email protected]) |
internal/Historical-Services.md
| ... | ... | @@ -98,7 +98,7 @@ There is a search engine at [buzzster.dn42](http://buzzster.dn42) that can also |
| 98 | 98 | | <http://seafile.dn42> | | | Opensource Dropbox, yay! | |
| 99 | 99 | |
| 100 | 100 | ### Tahoe LAFS |
| 101 | -Some people runs [Tahoe LAFS](/services/Tahoe-LAFS) nodes to provide a secure decentralized crypted file storage but in dn42. |
|
| 101 | +Some people ran introducer nodes to provide a secure decentralized encrypted file storage but in dn42. |
|
| 102 | 102 | |
| 103 | 103 | ### ipfs |
| 104 | 104 | bootstrap peers |
internal/Ideas.md
| ... | ... | @@ -7,16 +7,12 @@ |
| 7 | 7 | - it should be difficult to setup on the Internet (for technical or legal reasons) |
| 8 | 8 | - it should interest people that are likely to know dn42 (hackerspaces, etc) |
| 9 | 9 | |
| 10 | -Any idea, apart from pr0n? Multicasting video flux? |
|
| 11 | - |
|
| 12 | 10 | Ideas for stuff that are technically difficult on the Internet: |
| 13 | - |
|
| 14 | - - multicast routing (well, it doesn't work in dn42 either) |
|
| 11 | + - multicast routing |
|
| 15 | 12 | - something that depends on the network infrastructure or topology (e.g. a game where you have to announce things with BGP) |
| 16 | 13 | - CloudStack Implementation to test fail-over to different locations |
| 17 | 14 | - Open Plex Media Server - Anyone within dn42 would have unauthenticated access to the media. |
| 18 | - - We need to branch out to events etc... have talks, streams and increase our media presence. |
|
| 19 | - |
|
| 15 | + - We need to branch out to events etc... have talks, streams and increase our media presence. |
|
| 20 | 16 | |
| 21 | 17 | --- |
| 22 | 18 |
internal/Interconnections.md
| ... | ... | @@ -1,8 +0,0 @@ |
| 1 | -**This page lists the external Overlay Networks DN42 is connected to** |
|
| 2 | - |
|
| 3 | -| Network | IPv4 address space | IPv6 address space | TLDs | Remarks | |
|
| 4 | -|:-------------------------------------------------------|:-------------------|:-------------------|:-----|:--------| |
|
| 5 | -| [NeoNetwork](https://github.com/NeoCloud/NeoNetwork) | `10.127.0.0/16` | `fd10:127::/32` | `.neo` | | |
|
| 6 | -| [ICVPN](https://github.com/freifunk/icvpn) | `10.0.0.0/8` | `fd00::/8` | see [ICVPN-Meta](https://github.com/freifunk/icvpn-meta/) |InterCity VPN - many [freifunk](https://freifunk.net) communities interconnect here | |
|
| 7 | -| [ChaosVPN](https://wiki.hamburg.ccc.de/ChaosVPN) | `10.4.0.0/16`<br>`10.32.0.0/16`<br>`10.100.0.0/14`<br>`10.104.0.0/14`<br>`172.31.0.0/16` | - | `.hack` | Few active hosts | |
|
| 8 | -| [CRXN](https://crxn.de/docs/) | - | `fd00::/8` | `.crxn` | | |
internal/Internal-Services.md
| ... | ... | @@ -1,7 +1,6 @@ |
| 1 | 1 | # Internal services |
| 2 | 2 | |
| 3 | -You are asked to show some creativity in terms of network usage and content. ;) |
|
| 4 | - |
|
| 3 | +You are asked to show some creativity in terms of network usage and content ([ideas](/internal/Ideas)). ;) |
|
| 5 | 4 | |
| 6 | 5 | ## Search engines & Discovery |
| 7 | 6 | |
| ... | ... | @@ -14,10 +13,7 @@ You are asked to show some creativity in terms of network usage and content. ;) |
| 14 | 13 | |
| 15 | 14 | ## Certificate Authority |
| 16 | 15 | |
| 17 | -Signed by the main DN42 CA (established 2016): |
|
| 18 | -* xuu is maintaining a [certificate authority](/services/Certificate-Authority) for internal services. |
|
| 19 | -* Burble maintains an [ACME server](https://burble.dn42/services/acme/) (with accompanying CA), compatible with any LetsEncrypt client like Certbot, Dehydrated or Caddy. |
|
| 20 | -* Kioubit maintains a [certificate authority](https://dn42.g-load.eu/about/certificate-authority/) with certificates obtainable via a simple script or completely [using only the browser](https://dn42.g-load.eu/about/certificate-authority/oneclick/). |
|
| 16 | +See this [page](/services/ca/Certificate-Authority) for the main certificate authority. |
|
| 21 | 17 | |
| 22 | 18 | ## Network-related |
| 23 | 19 | |
| ... | ... | @@ -92,10 +88,6 @@ See [Looking Glasses](/services/Looking-Glasses). |
| 92 | 88 | | <https://flaps.mashiro.dn42/> | AS4242420214 | | |
| 93 | 89 | |
| 94 | 90 | |
| 95 | -### IX Services |
|
| 96 | - |
|
| 97 | -See [IX Collection](/services/IX-Collection/). |
|
| 98 | - |
|
| 99 | 91 | ### ASN Authentication Solution |
| 100 | 92 | |
| 101 | 93 | Authenticate your users by having them verify their ASN ownership with following services using their registry-provided methods in an automated way. Some examples of this are the automatic peering system for the [Kioubit Network](https://dn42.g-load.eu) and [iEdon-Net](https://iedon.net). |
| ... | ... | @@ -108,10 +100,12 @@ Authenticate your users by having them verify their ASN ownership with following |
| 108 | 100 | |
| 109 | 101 | ## IRC |
| 110 | 102 | |
| 103 | +See the [primary IRC page](/services/IRC). |
|
| 104 | + |
|
| 105 | +Other servers: |
|
| 106 | + |
|
| 111 | 107 | | Hostname / IP | SSL | Remarks | |
| 112 | 108 | | :-------------------- | :-- | :------------------------------------------------------------------------------------------------------------------ | |
| 113 | -| irc.hackint.dn42 | Yes | DN42 | |
|
| 114 | -| irc.hackint.hack/dn42 | Yes | ChaosVPN | |
|
| 115 | 109 | | irc.dn42 | Yes | Internal IRC | |
| 116 | 110 | | irc.ty3r0x.dn42 | Yes | BonoboNET (ty3r0x.bnet) | |
| 117 | 111 | | irc.catgirls.dn42 | Yes | Karx IRC, clearnet karx.xyz/6697, dn42 v6 only | |
| ... | ... | @@ -157,7 +151,7 @@ Authenticate your users by having them verify their ASN ownership with following |
| 157 | 151 | ## File Sharing |
| 158 | 152 | |
| 159 | 153 | ### Repository Mirrors |
| 160 | -See [Repository Mirrors](/services/Repository-Mirrors). |
|
| 154 | +See [Repository Mirrors](/internal/Repository-Mirrors). |
|
| 161 | 155 | |
| 162 | 156 | ### FTP / HTTP |
| 163 | 157 | |
| ... | ... | @@ -195,6 +189,10 @@ See [Repository Mirrors](/services/Repository-Mirrors). |
| 195 | 189 | |
| 196 | 190 | - dht.leziblog.dn42:6881 |
| 197 | 191 | |
| 192 | +## Tor network |
|
| 193 | + |
|
| 194 | +See [Tor](/internal/Tor). |
|
| 195 | + |
|
| 198 | 196 | ## VPN |
| 199 | 197 | |
| 200 | 198 | DN42 Network Access over Automatic Wireguard VPN Service (IPv6 only, fd00::/8) |
| ... | ... | @@ -273,6 +271,11 @@ Test out your skills with online challenges |
| 273 | 271 | | <http://kioubit.dn42/challenge/ch1/> | Kioubit.dn42 challenge 1 | |
| 274 | 272 | | <http://kioubit.dn42/challenge/ch2/> | Kioubit.dn42 challenge 2 | |
| 275 | 273 | |
| 274 | + |
|
| 275 | +## Virtual machines |
|
| 276 | + |
|
| 277 | +Virtual machine providers are listed [here](/internal/Virtual-Machines). |
|
| 278 | + |
|
| 276 | 279 | ## Shell |
| 277 | 280 | |
| 278 | 281 | Providers of shell access: |
| ... | ... | @@ -329,7 +332,8 @@ See also the [burble.dn42 website](https://dn42.burble.com/services/shell/) for |
| 329 | 332 | |
| 330 | 333 | ## E-Mail |
| 331 | 334 | |
| 332 | -There is a list of E-Mail providers [here](/services/E-Mail-Providers) |
|
| 335 | +There is a list of E-Mail providers [here](/internal/E-Mail-Providers) |
|
| 336 | + |
|
| 333 | 337 | |
| 334 | 338 | ## Misc |
| 335 | 339 |
internal/NetworkScans.md
| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | -# Network / Port scans |
|
| 2 | - |
|
| 3 | -A network scan involves examining hosts in a network. The general aim is to find information such as open ports, software versions, and vulnerabilities. Depending on how the scan is performed, many packets are sent to the individual hosts at short intervals. |
|
| 4 | - |
|
| 5 | -## Rules |
|
| 6 | - |
|
| 7 | -There are no technically enforceable rules for port scanning (i.e., rules that apply only to port scanning; general restriction rules such as rate limits can of course be set), but that does not mean that you should just go ahead and do it - depending on how it is done, it can be perceived as very intrusive. Therefore, the following rules of politeness have become established over time: |
|
| 8 | - |
|
| 9 | -1. Announce the network scan in advance on the mailing list. |
|
| 10 | -2. Provide the option to opt out. |
|
| 11 | - |
|
| 12 | -## Opt out |
|
| 13 | - |
|
| 14 | -Unfortunately, there is currently no standard way to signal that a network should not be scanned. Several proposals have been discussed in the past - communication via BGP, via the registry, or via the mailing list. |
|
| 15 | - |
|
| 16 | -Another option would be to signal opt-outs via the wiki: |
|
| 17 | - |
|
| 18 | -| Maintainer | Network | Opt-out? | |
|
| 19 | -| --- | --- | --- | |
|
| 20 | -| `EXAMPLE-MNT` | 172.0.0.1/24 | Yes | |
internal/Repository-Mirrors.md
| ... | ... | @@ -0,0 +1,68 @@ |
| 1 | +# Repository Mirrors |
|
| 2 | + |
|
| 3 | +There are some mirrors available in DN42. All mirrors are subdomains of "mirror.dn42". DNS Round-Robin is set up for Load Balancing. |
|
| 4 | + |
|
| 5 | +## mirror.ano-org.dn42 |
|
| 6 | + |
|
| 7 | +Proxy to multiple repositories: |
|
| 8 | + |
|
| 9 | +* <http://mirror.ano-org.dn42/debian>: deb.debian.org/debian |
|
| 10 | +* <http://mirror.ano-org.dn42/debsec>: security.debian.org/debian-security |
|
| 11 | +* <http://mirror.ano-org.dn42/ubuntu>: archive.ubuntu.com/ubuntu |
|
| 12 | +* <http://mirror.ano-org.dn42/ubsec>: security.ubuntu.com/ubuntu |
|
| 13 | +* <http://mirror.ano-org.dn42/proxmox>: download.proxmox.com/debian |
|
| 14 | +* <http://mirror.ano-org.dn42/grafana>: packages.grafana.com/oss/deb |
|
| 15 | +* <http://mirror.ano-org.dn42/rpi>: archive.raspberrypi.org/debian |
|
| 16 | + |
|
| 17 | +Other repos can be added on request, contact glueckself@hackint on IRC or send a mail to <[email protected]> |
|
| 18 | + |
|
| 19 | +## Ubuntu |
|
| 20 | +**<http://mirror.dn42/ubuntu>** |
|
| 21 | + |
|
| 22 | +Hosted by: |
|
| 23 | +* mephisto |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## mirror.yandex.ru proxy |
|
| 27 | +**<http://172.23.158.41/>** |
|
| 28 | +**<http://[fd91:9191:9191:3::1]/>** |
|
| 29 | + |
|
| 30 | +Hosted by: |
|
| 31 | +* ne-vlezay80 |
|
| 32 | + |
|
| 33 | +## mirrors.nia.dn42 (IPv6 Only) |
|
| 34 | + |
|
| 35 | +[eweOS](https://os.ewe.moe/download): |
|
| 36 | +* <http://mirrors.nia.dn42/eweos/>: Official Mirror in DN42 |
|
| 37 | +* <http://mirrors.nia.dn42/eweos-images/>: Official Mirror in DN42 |
|
| 38 | + |
|
| 39 | +## mirror.z.dn42 |
|
| 40 | + |
|
| 41 | +Not hosting repositories itself, it collects other mirrors |
|
| 42 | + |
|
| 43 | +* Dynamic page: **<http://mirror.z.dn42/>** |
|
| 44 | +* Static page: **<http://mirror.z.dn42/_/>** |
|
| 45 | + |
|
| 46 | +## mirrors.leziblog.dn42 |
|
| 47 | + |
|
| 48 | +Notes: |
|
| 49 | +- Local repository, hosted by [LeZi](mailto:[email protected]) |
|
| 50 | +- Synchronize with the upstream every day at 00:00 UTC. |
|
| 51 | +- Supports `https`, `rsync` |
|
| 52 | + - https: `https://mirrors.leziblog.dn42` |
|
| 53 | + - rsync: `rsync://rsync.mirrors.leziblog.dn42` |
|
| 54 | + |
|
| 55 | +Ubuntu: |
|
| 56 | +- <http://mirrors.leziblog.dn42/ubuntu/>: archive.ubuntu.com/ubuntu |
|
| 57 | +- <http://mirrors.leziblog.dn42/ubuntu-ports/>: ports.ubuntu.com |
|
| 58 | + |
|
| 59 | +OpenWrt: |
|
| 60 | +- <http://mirrors.leziblog.dn42/openwrt/>: downloads.openwrt.org |
|
| 61 | + |
|
| 62 | +Ubuntu-image: |
|
| 63 | +- 20.04.6 |
|
| 64 | + - [magnet:?xt=urn:btih:83df9f532bed288518d884fe63363e8f5b2286e2](magnet:?xt=urn:btih:83df9f532bed288518d884fe63363e8f5b2286e2&dn=ubuntu-20.04.6-live-server-amd64&tr=udp%3A%2F%2Ftracker.leziblog.dn42%3A11451&tr=https%3A%2F%2Ftracker.leziblog.dn42%2Fannounce&tr=http%3A%2F%2Ftracker.leziblog.dn42%2Fannounce) |
|
| 65 | +- 22.04.5 |
|
| 66 | + - [magnet:?xt=urn:btih:8df707795d20b9d8021241d56c6f8282929c8b8d](magnet:?xt=urn:btih:8df707795d20b9d8021241d56c6f8282929c8b8d&dn=ubuntu-22.04.5-live-server-amd64&tr=udp%3A%2F%2Ftracker.leziblog.dn42%3A11451&tr=https%3A%2F%2Ftracker.leziblog.dn42%2Fannounce&tr=http%3A%2F%2Ftracker.leziblog.dn42%2Fannounce) |
|
| 67 | +- 24.04.3 |
|
| 68 | + - [magnet:?xt=urn:btih:5fd2dd3688fdb31fe554b15ed65228f3db29a9f9](magnet:?xt=urn:btih:5fd2dd3688fdb31fe554b15ed65228f3db29a9f9&dn=ubuntu-24.04.3-live-server-amd64&tr=udp%3A%2F%2Ftracker.leziblog.dn42%3A11451&tr=https%3A%2F%2Ftracker.leziblog.dn42%2Fannounce&tr=http%3A%2F%2Ftracker.leziblog.dn42%2Fannounce) |
|
| ... | ... | \ No newline at end of file |
internal/Tor.md
| ... | ... | @@ -1,4 +1,4 @@ |
| 1 | -[Tor](https://torproject.org/) ([dn42 mirror](http://tor.e-utp.dn42/)) is free software and an open network that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security. |
|
| 1 | +[Tor](https://torproject.org/) is free software and an open network that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security. |
|
| 2 | 2 | |
| 3 | 3 | # Tor Bridges |
| 4 | 4 |
internal/Virtual-Machines.md
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | +# Virtual Machines |
|
| 2 | + |
|
| 3 | +## burble.dn42 |
|
| 4 | + |
|
| 5 | +If you have a DN42 project but do not have the resources to host it yourself, the burble.dn42 network may be able to provide hosting for you. Contact burble on IRC or via email to discuss. |
|
| 6 | + |
|
| 7 | +## LGP Corp |
|
| 8 | +LGP Corp will make available virtual machines at IXP frnte for all interested parties. The administrator can be contacted at toinux in IRC. |
|
| 9 | + |
|
| 10 | + |
perchnet.md
| ... | ... | @@ -1,37 +0,0 @@ |
| 1 | -# Welcome to perchnet (AS4242422825) |
|
| 2 | - |
|
| 3 | -## Introduction |
|
| 4 | -perchnet is a network on dn42. The goal of perchnet is to facilitate learning about and experimentation with various networking technologies, and linking up multiple sites in the "hybrid" and "multivendor" cloud computing configurations. |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## Background |
|
| 9 | -perchnet is still being designed and deployed. Presently we consist of two physical nodes at _bri_'s residence in New York City that provide a core router and various services, and we're in the process of onboarding a virtual server graciously donated by [Evolution Host](https://evolution-host.com). |
|
| 10 | - |
|
| 11 | -_bri_ enjoys hacking together complex systems out of weird, secondhand, obsolete hardware. As such, their on-site residence nodes are: |
|
| 12 | - |
|
| 13 | -- macpro "home private cloud" |
|
| 14 | - - Heavily upgraded Apple "Mac Pro (early 2009)" (MacPro4,1) |
|
| 15 | - - Customized firmware |
|
| 16 | - - Proxmox 7 "testing" |
|
| 17 | - - 2x Xeon X5675 (12 cores / 24 threads) |
|
| 18 | - - 128 GB DDR3 |
|
| 19 | - - 512 GB NVMe SSD |
|
| 20 | - - 2 TB NVMe SSD |
|
| 21 | - - 2 TB SATA SSD |
|
| 22 | - - 2x 120 GB SATA SSD |
|
| 23 | - - 2 TB SATA HDD |
|
| 24 | - - 1 TB SATA HDD |
|
| 25 | - - Radeon RX580 |
|
| 26 | -- minipve "home virtual router" |
|
| 27 | - - Apple "Mac Mini (2014)" |
|
| 28 | - - Proxmox 7 |
|
| 29 | - - Intel Core i5-4278U (2 cores / 4 threads) |
|
| 30 | - - 16 GB DDR4 |
|
| 31 | - - 128 GB SSD |
|
| 32 | - - 1 TB HDD |
|
| 33 | - |
|
| 34 | -Routing software in use currently primarily consists of a custom build of VyOS 1.4-rolling and OpenWRT. |
|
| 35 | - |
|
| 36 | - |
|
| 37 | -Note: "perchnet" is officially spelled in all lowercase, but due to constraints it may be written as all uppercase ("PERCHNET") instead. "Perchnet" is not to be used whenever possible. This is all due to an odd idiocyncractic quirk of the network administrator, and should probably not be questioned for the sake of maintaining one's sanity. Nobody will be chastised for using title case, but it will make _bri_ frown. |
|
| ... | ... | \ No newline at end of file |
playground.md
| ... | ... | @@ -1,3 +0,0 @@ |
| 1 | -# Playground |
|
| 2 | - |
|
| 3 | -test what will happen |
services/Automatic-CA.md
| ... | ... | @@ -1,239 +0,0 @@ |
| 1 | -DN42 ACME CA |
|
| 2 | -================== |
|
| 3 | - |
|
| 4 | -Certificates can be automatically generated with the [ACME-CA](https://burble.dn42/services/acme/) using [acme.sh](https://github.com/acmesh-official/acme.sh) or [lego](https://github.com/go-acme/lego) or [Caddy](https://caddyserver.com/). More information can be found on [https://burble.dn42/services/acme/](https://burble.dn42/services/acme/) |
|
| 5 | - |
|
| 6 | -DN42 Self-Serve CA |
|
| 7 | -================== |
|
| 8 | - |
|
| 9 | -This client is used for automating the process of requesting TLS certificates. (Available via: [dn42](https://ca.dn42/ca-client), [iana](https://ca.dn42.us/ca-client), [git]([email protected]:dn42/ca-client)) |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -## VALIDATION PROCESS |
|
| 13 | - |
|
| 14 | -The process validates ownership by verifying control of both a users MNT object in the registry and the authoritative DNS server. |
|
| 15 | -The following steps take place in creating a signed certificate. |
|
| 16 | - |
|
| 17 | -*User Flow* |
|
| 18 | - |
|
| 19 | -1. User generates a 2048+ bit rsa key and CSR for their MNT object. |
|
| 20 | -2. User generates a sha256 hash of the rsa public key (commonly known as a [public keypin][keypin]) and adds it as a remark in their MNT |
|
| 21 | -3. User submits the csr to the CA to validate and sign. |
|
| 22 | -4. CA checks for the keypin in their MNT object (if it does not find it in the local copy of the [monotone repo][ca-mtn] it will check against io.nixnodes.dn42) |
|
| 23 | -5. (optional) CA revokes prior certificate as superseded. |
|
| 24 | -6. CA signs and returns the user certificate. |
|
| 25 | - |
|
| 26 | -*Server Flow* |
|
| 27 | - |
|
| 28 | -1. User generates a 2048+ bit rsa key and CSR for the dns CN. Also including any SAN domains. |
|
| 29 | -2. User generates a sha256 hash of the rsa public key (commonly known as a [public keypin][keypin]) and adds it as a txt record in their DNS. |
|
| 30 | -3. User uses the user certificate to authenticate and submits the csr to the CA to validate and sign. |
|
| 31 | -4. CA checks for the user keypin in their MNT object (if it does not find it in the local copy of the [monotone repo][ca-mtn] it will check against io.nixnodes.dn42) |
|
| 32 | -5. CA checks the dns records for the CN and each SAN for the tls keypin. |
|
| 33 | -6. (optional) CA revokes prior certificate as superseded. |
|
| 34 | -7. CA signs and returns the tls certificate. |
|
| 35 | - |
|
| 36 | -*User Renewals* |
|
| 37 | - |
|
| 38 | -User certificates are signed for 180 days. To renew follow the steps above starting from number 3. |
|
| 39 | - |
|
| 40 | -*Server renewals* |
|
| 41 | - |
|
| 42 | -Server certificates are signed for 45 days. To renew follow the steps above starting from number 3. |
|
| 43 | - |
|
| 44 | -[keypin]: <https://developer.mozilla.org/en-US/docs/Web/Security/Public_Key_Pinning> |
|
| 45 | -[ca-mtn]: <https://ca.dn42/reg/mntner/> |
|
| 46 | - |
|
| 47 | -*Certificate Revocations* |
|
| 48 | - |
|
| 49 | -1. User uses the user certificate to authenticate and submits the serial and revoke reason to CA. |
|
| 50 | -2. CA checks user keypin in their MNT object (if it does not find it in the local copy of the [monotone repo][ca-mtn] it will check against io.nixnodes.dn42) |
|
| 51 | -3. CA checks that owner in certificate matches. |
|
| 52 | -4. CA revokes certificate and updates revocation list. |
|
| 53 | - |
|
| 54 | -## INSTALL |
|
| 55 | - |
|
| 56 | -get the script here: |
|
| 57 | - |
|
| 58 | -```sh |
|
| 59 | -curl https://ca.dn42/ca.dn42 > ca.dn42; chmod +x ca.dn42 |
|
| 60 | -``` |
|
| 61 | - |
|
| 62 | -available via git: [email protected]:dn42/ca-client |
|
| 63 | - |
|
| 64 | - |
|
| 65 | -## KNOWN ISSUES |
|
| 66 | - |
|
| 67 | -### openssl prior to 1.0.2 returns "SSL certificate problem: permitted subtree violation" |
|
| 68 | - |
|
| 69 | -The way openssl validated name constraints prevented it from accepting dns names that started with a dot. |
|
| 70 | -Because the name constraint is "DNS:.dn42" it fails to validate. |
|
| 71 | - |
|
| 72 | -[Read more on this mailing list thread][libssl-1] |
|
| 73 | - |
|
| 74 | - |
|
| 75 | -[libssl-1]: <https://groups.google.com/forum/#!topic/mailing.openssl.dev/drG3U-S4iaE> |
|
| 76 | - |
|
| 77 | - |
|
| 78 | -### X.509 nameConstraints on certificates not supported on OS X |
|
| 79 | - |
|
| 80 | -Browsers and clients that rely on Apple's [Secure Transport][osx-1] library does not support X.509's nameConstraints. |
|
| 81 | - |
|
| 82 | -Read more on this [stack exchange post][osx-2] |
|
| 83 | - |
|
| 84 | - |
|
| 85 | -[osx-1]: <https://developer.apple.com/library/mac/documentation/Security/Reference/secureTransportRef/> |
|
| 86 | -[osx-2]: <http://security.stackexchange.com/a/97133> |
|
| 87 | - |
|
| 88 | - |
|
| 89 | -## How to Run |
|
| 90 | - |
|
| 91 | -``` |
|
| 92 | -Usage: # OWNER is your MNT handle. |
|
| 93 | - ./ca.dn42 user-gen OWNER EMAIL # Output to OWNER.csr and OWNER.key |
|
| 94 | - ./ca.dn42 user-sig OWNER # Output to OWNER.crt and OWNER.p12 |
|
| 95 | - ./ca.dn42 tls-gen DNS OWNER EMAIL [SAN] # Output to OWNER_DNS.csr and OWNER.key |
|
| 96 | - ./ca.dn42 tls-sig DNS OWNER # Output to OWNER_DNS.crt and OWNER_DNS.p12 |
|
| 97 | - ./ca.dn42 revoke OWNER CERTFILE [REASON] |
|
| 98 | - |
|
| 99 | - |
|
| 100 | -Revoke Reasons: unspecified, keyCompromise, affiliationChanged, |
|
| 101 | - superseded, cessationOfOperation, certificateHold, removeFromCRL |
|
| 102 | - |
|
| 103 | -Environtment Options: |
|
| 104 | - DN42CA_PKCS12 = 1 # Generate pkcs12 file for certificate. |
|
| 105 | -``` |
|
| 106 | - |
|
| 107 | -## Example |
|
| 108 | - |
|
| 109 | -Generate the user key |
|
| 110 | - |
|
| 111 | -```sh |
|
| 112 | -$ ./ca.dn42 user-gen XUU-MNT [email protected] |
|
| 113 | -Generating a 2048 bit RSA private key |
|
| 114 | -...............................+++ |
|
| 115 | -.........................+++ |
|
| 116 | -writing new private key to 'XUU-MNT.key' |
|
| 117 | ------ |
|
| 118 | -= |
|
| 119 | -= You need to have this pin added to your mnt object before proceeding to the next step. |
|
| 120 | -= |
|
| 121 | -|MNT Key Pin| remarks: pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 122 | -``` |
|
| 123 | - |
|
| 124 | -### Sign the user key |
|
| 125 | - |
|
| 126 | -```sh |
|
| 127 | -$ ./ca.dn42 user-sign XUU-MNT [email protected] |
|
| 128 | -== USER CERT == |
|
| 129 | - C:XD |
|
| 130 | - O:dn42 |
|
| 131 | - OU:dn42 Certificate Authority |
|
| 132 | - CN:XUU-MNT |
|
| 133 | - emailAddress:[email protected] |
|
| 134 | - owner:XUU-MNT |
|
| 135 | - pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 136 | -OK https://ca.dn42/crt/XUU-MNT.crt |
|
| 137 | -Enter Export Password: |
|
| 138 | -Verifying - Enter Export Password: |
|
| 139 | -``` |
|
| 140 | - |
|
| 141 | -### Generate the server key |
|
| 142 | - |
|
| 143 | -```sh |
|
| 144 | -$ ./ca.dn42 tls-gen ca.dn42 XUU-MNT [email protected] DNS:ca.dn42 |
|
| 145 | - |
|
| 146 | -Generating a 2048 bit RSA private key |
|
| 147 | -...........................................+++ |
|
| 148 | -.......................+++ |
|
| 149 | -writing new private key to 'XUU-MNT_ca.dn42.key' |
|
| 150 | ------ |
|
| 151 | -writing RSA key |
|
| 152 | -= |
|
| 153 | -= |DNS Key Pin| You need to have this pin added to your dns records before proceeding to the next step. |
|
| 154 | -= |
|
| 155 | -_dn42_tlsverify.ca.dn42. IN TXT XUU-MNT:pin-sha256:Qu/X5GNqOo05TdL7oexkamE34OUuDE60T+f0xc60UPQ= |
|
| 156 | -``` |
|
| 157 | - |
|
| 158 | -After you set this TXT-Record for your domain, you can verify it with the following command (by replacing the domain with your own): |
|
| 159 | - |
|
| 160 | -```sh |
|
| 161 | -$ dig +short TXT _dn42_tlsverify.ca.dn42. |
|
| 162 | -"XUU-MNT:pin-sha256:Qu/X5GNqOo05TdL7oexkamE34OUuDE60T+f0xc60UPQ=" |
|
| 163 | -``` |
|
| 164 | - |
|
| 165 | -### Sign the server key |
|
| 166 | - |
|
| 167 | -```sh |
|
| 168 | -$ ./ca.dn42 tls-sign ca.dn42 XUU-MNT |
|
| 169 | -== USER CERT == |
|
| 170 | - C:XD |
|
| 171 | - O:dn42 |
|
| 172 | - OU:dn42 Certificate Authority |
|
| 173 | - CN:XUU-MNT |
|
| 174 | - emailAddress:[email protected] |
|
| 175 | - owner:XUU-MNT |
|
| 176 | - pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 177 | -== DNS CSR == |
|
| 178 | - C:XD |
|
| 179 | - O:dn42 |
|
| 180 | - OU:dn42 Certificate Authority |
|
| 181 | - CN:ca.dn42 |
|
| 182 | - emailAddress:[email protected] |
|
| 183 | - owner:XUU-MNT |
|
| 184 | - pin-sha256:Qu/X5GNqOo05TdL7oexkamE34OUuDE60T+f0xc60UPQ= |
|
| 185 | -== DNS Tests == |
|
| 186 | - CN Record: ca.dn42 PASSED |
|
| 187 | - SAN Record: ca.dn42 PASSED |
|
| 188 | -OK https://ca.dn42/crt/XUU-MNT_ca.dn42.crt |
|
| 189 | -Enter Export Password: **** |
|
| 190 | -Verifying - Enter Export Password: **** |
|
| 191 | -``` |
|
| 192 | - |
|
| 193 | -The generated certificate will be valid for 3 months, to renew it simply run ```./ca.dn42 tls-sign ca.dn42 XUU-MNT``` again. This could be also automated in cron: |
|
| 194 | - |
|
| 195 | -```sh |
|
| 196 | -0 0 1 * * /etc/ssl/dn42/ca.dn42 tls-sign wiki.dn42 MIC92-MNT |
|
| 197 | -``` |
|
| 198 | - |
|
| 199 | -or with a systemd timer: |
|
| 200 | - |
|
| 201 | -```conf |
|
| 202 | -# update-dn42-ca.timer |
|
| 203 | -[Timer] |
|
| 204 | -OnBootSec=1h |
|
| 205 | -OnUnitActiveSec=1w |
|
| 206 | -Persistent=yes |
|
| 207 | - |
|
| 208 | -[Install] |
|
| 209 | -WantedBy=timers.target |
|
| 210 | -``` |
|
| 211 | - |
|
| 212 | -```conf |
|
| 213 | -[Service] |
|
| 214 | -Type=oneshot |
|
| 215 | -WorkingDirectory=/etc/ssl/dn42 |
|
| 216 | -ExecStart=/etc/ssl/dn42/ca.dn42 tls-sign wiki.dn42 MIC92-MNT |
|
| 217 | -# accept multiple ExecStart lines for other certificates |
|
| 218 | -# ExecStart=/etc/ssl/dn42/ca.dn42 tls-sign foobar.dn42 MIC92-MNT |
|
| 219 | -ExecStart=/usr/bin/nginx -s reload |
|
| 220 | -``` |
|
| 221 | - |
|
| 222 | -### Revoke a certificate. |
|
| 223 | - |
|
| 224 | -```sh |
|
| 225 | -$ ./ca.dn42 revoke XUU-MNT XUU-MNT.crt |
|
| 226 | -== USER CERT == |
|
| 227 | - C:XD |
|
| 228 | - O:dn42 |
|
| 229 | - OU:dn42 Certificate Authority |
|
| 230 | - CN:XUU-MNT |
|
| 231 | - emailAddress:[email protected] |
|
| 232 | - owner:XUU-MNT |
|
| 233 | - pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 234 | -== REVOKE CERT == |
|
| 235 | -OK |
|
| 236 | -``` |
|
| 237 | - |
|
| 238 | -### Certificate transparency |
|
| 239 | -All issued certificates will be logged to [xuu's mattermost instance](https://teams.dn42/dn42/channels/tls-certificates). |
services/Certificate-Authority.md
| ... | ... | @@ -1,185 +0,0 @@ |
| 1 | -# SSL Certificate Authority |
|
| 2 | - |
|
| 3 | -internal.dn42 is signed by an internally maintained CA that is only allowed to sign *.dn42 domains. |
|
| 4 | -If you would like to have a certificate signed by this CA there is [an automated process to do so](/services/Automatic-CA). The CA is maintained by [email protected]. |
|
| 5 | - |
|
| 6 | -If you are required to specify a license to clarify redistribution, then it [can be considered](https://groups.io/g/dn42/message/844) as [CC0](https://creativecommons.org/public-domain/cc0/). |
|
| 7 | - |
|
| 8 | -The CA certificate ([dn42](https://ca.dn42/crt/root-ca.crt), [iana](https://ca.dn42.us/crt/root-ca.crt)): |
|
| 9 | - |
|
| 10 | -``` |
|
| 11 | -Certificate: |
|
| 12 | - Data: |
|
| 13 | - Version: 3 (0x2) |
|
| 14 | - Serial Number: 137808117760 (0x2016010000) |
|
| 15 | - Signature Algorithm: sha256WithRSAEncryption |
|
| 16 | - Issuer: C=XD, O=dn42, OU=dn42 Certificate Authority, CN=dn42 Root Authority CA |
|
| 17 | - Validity |
|
| 18 | - Not Before: Jan 16 00:12:04 2016 GMT |
|
| 19 | - Not After : Dec 31 23:59:59 2030 GMT |
|
| 20 | - Subject: C=XD, O=dn42, OU=dn42 Certificate Authority, CN=dn42 Root Authority CA |
|
| 21 | - Subject Public Key Info: |
|
| 22 | - Public Key Algorithm: rsaEncryption |
|
| 23 | - Public-Key: (2048 bit) |
|
| 24 | - Modulus: |
|
| 25 | - 00:c1:19:10:de:01:86:11:f1:82:0c:b0:d4:e5:ff: |
|
| 26 | - 9a:c8:e3:aa:f4:00:08:82:c0:cf:7f:05:7a:21:97: |
|
| 27 | - c1:b5:8b:a3:d1:54:ee:fa:04:0f:77:d5:5c:98:4b: |
|
| 28 | - d9:88:18:c1:17:10:92:e5:24:fa:ef:61:eb:5d:7b: |
|
| 29 | - 11:e5:be:ba:89:f2:60:c9:3b:82:05:3a:74:54:60: |
|
| 30 | - 23:66:1a:d8:cd:28:7b:f1:ea:55:25:9a:8c:04:a0: |
|
| 31 | - ff:9d:48:54:4c:9d:bc:2d:a0:df:71:ae:64:47:0d: |
|
| 32 | - e7:75:05:f4:c5:02:2a:d2:0c:be:a3:63:54:62:2b: |
|
| 33 | - ad:29:eb:6a:08:a4:5e:a8:eb:f1:52:14:4e:d1:5d: |
|
| 34 | - 41:2f:d3:19:ba:e4:82:36:7a:d1:a3:f2:84:f6:07: |
|
| 35 | - b2:f6:0c:30:db:db:76:ee:e9:14:05:c7:8f:75:b7: |
|
| 36 | - 3f:d5:d5:35:56:d0:92:44:df:26:1e:00:fa:ae:cb: |
|
| 37 | - 7a:c9:50:67:5d:69:f8:f9:fd:25:a7:1d:db:40:b1: |
|
| 38 | - 42:bc:45:57:e1:c9:1c:42:ba:69:80:1e:ea:25:99: |
|
| 39 | - 12:9f:6f:23:a3:d2:2e:4a:cd:15:e4:7c:49:f9:d1: |
|
| 40 | - c0:f0:19:0c:15:50:ce:a6:51:bb:aa:16:b2:82:ec: |
|
| 41 | - f4:61:44:8c:1c:dd:65:60:04:77:b0:4d:99:67:17: |
|
| 42 | - fb:09 |
|
| 43 | - Exponent: 65537 (0x10001) |
|
| 44 | - X509v3 extensions: |
|
| 45 | - X509v3 Key Usage: critical |
|
| 46 | - Certificate Sign, CRL Sign |
|
| 47 | - X509v3 Basic Constraints: critical |
|
| 48 | - CA:TRUE |
|
| 49 | - X509v3 Subject Key Identifier: |
|
| 50 | - 54:76:88:B2:C0:B5:30:D0:FC:4F:C9:6D:3B:F9:8C:55:11:AC:15:15 |
|
| 51 | - X509v3 Authority Key Identifier: |
|
| 52 | - keyid:54:76:88:B2:C0:B5:30:D0:FC:4F:C9:6D:3B:F9:8C:55:11:AC:15:15 |
|
| 53 | - |
|
| 54 | - X509v3 Name Constraints: |
|
| 55 | - Permitted: |
|
| 56 | - DNS:.dn42 |
|
| 57 | - IP:172.20.0.0/255.252.0.0 |
|
| 58 | - IP:FD42:0:0:0:0:0:0:0/FFFF:0:0:0:0:0:0:0 |
|
| 59 | - |
|
| 60 | - Signature Algorithm: sha256WithRSAEncryption |
|
| 61 | - 5c:a4:3b:41:a0:81:69:e2:71:99:4d:75:4b:5a:20:0d:2a:d9: |
|
| 62 | - ec:ea:bc:8d:4f:b0:6c:f3:2e:41:1a:a0:75:f3:de:7e:3a:e0: |
|
| 63 | - a7:b9:db:cd:f5:16:e4:6a:cb:e7:cc:2a:8f:ee:7f:14:0a:a5: |
|
| 64 | - b5:f9:66:48:81:e5:68:1e:0c:a6:a3:3c:a7:2b:e3:95:cf:e3: |
|
| 65 | - 63:15:0d:16:09:63:d9:66:31:3b:42:2e:7c:1a:e5:28:8e:5e: |
|
| 66 | - 3d:9e:28:99:48:e9:47:86:11:e2:04:29:60:2b:96:95:99:ae: |
|
| 67 | - 3f:ab:ff:3f:45:ab:7e:07:45:4e:4d:0b:18:40:3d:3b:02:9c: |
|
| 68 | - 4e:a9:0f:a5:c2:3f:4a:30:77:ae:66:5c:b3:8d:b2:41:6b:e2: |
|
| 69 | - 98:01:7d:e0:6b:52:70:4d:3d:b8:a9:48:f5:02:d2:d9:40:66: |
|
| 70 | - b6:5e:44:25:11:55:ac:31:02:d7:67:72:6a:6a:bc:74:34:5f: |
|
| 71 | - 75:dc:9a:4f:83:28:40:e0:2a:dc:3f:41:43:5a:47:07:2b:b7: |
|
| 72 | - a7:3f:d0:15:a2:42:d7:30:22:f2:f6:e4:b4:f6:3b:38:ca:6b: |
|
| 73 | - 4c:e7:3c:a4:70:cb:de:af:0a:14:ff:23:25:ca:04:cd:9e:49: |
|
| 74 | - c3:4b:e4:0a:b5:0b:84:b5:ef:b4:5b:63:07:47:63:cd:5c:50: |
|
| 75 | - 0b:42:0a:a9 |
|
| 76 | ------BEGIN CERTIFICATE----- |
|
| 77 | -MIID8DCCAtigAwIBAgIFIBYBAAAwDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMC |
|
| 78 | -WEQxDTALBgNVBAoMBGRuNDIxIzAhBgNVBAsMGmRuNDIgQ2VydGlmaWNhdGUgQXV0 |
|
| 79 | -aG9yaXR5MR8wHQYDVQQDDBZkbjQyIFJvb3QgQXV0aG9yaXR5IENBMCAXDTE2MDEx |
|
| 80 | -NjAwMTIwNFoYDzIwMzAxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJYRDENMAsGA1UE |
|
| 81 | -CgwEZG40MjEjMCEGA1UECwwaZG40MiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAd |
|
| 82 | -BgNVBAMMFmRuNDIgUm9vdCBBdXRob3JpdHkgQ0EwggEiMA0GCSqGSIb3DQEBAQUA |
|
| 83 | -A4IBDwAwggEKAoIBAQDBGRDeAYYR8YIMsNTl/5rI46r0AAiCwM9/BXohl8G1i6PR |
|
| 84 | -VO76BA931VyYS9mIGMEXEJLlJPrvYetdexHlvrqJ8mDJO4IFOnRUYCNmGtjNKHvx |
|
| 85 | -6lUlmowEoP+dSFRMnbwtoN9xrmRHDed1BfTFAirSDL6jY1RiK60p62oIpF6o6/FS |
|
| 86 | -FE7RXUEv0xm65II2etGj8oT2B7L2DDDb23bu6RQFx491tz/V1TVW0JJE3yYeAPqu |
|
| 87 | -y3rJUGddafj5/SWnHdtAsUK8RVfhyRxCummAHuolmRKfbyOj0i5KzRXkfEn50cDw |
|
| 88 | -GQwVUM6mUbuqFrKC7PRhRIwc3WVgBHewTZlnF/sJAgMBAAGjgaowgacwDgYDVR0P |
|
| 89 | -AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFR2iLLAtTDQ/E/J |
|
| 90 | -bTv5jFURrBUVMB8GA1UdIwQYMBaAFFR2iLLAtTDQ/E/JbTv5jFURrBUVMEQGA1Ud |
|
| 91 | -HgQ9MDugOTAHggUuZG40MjAKhwisFAAA//wAADAihyD9QgAAAAAAAAAAAAAAAAAA |
|
| 92 | -//8AAAAAAAAAAAAAAAAAADANBgkqhkiG9w0BAQsFAAOCAQEAXKQ7QaCBaeJxmU11 |
|
| 93 | -S1ogDSrZ7Oq8jU+wbPMuQRqgdfPefjrgp7nbzfUW5GrL58wqj+5/FAqltflmSIHl |
|
| 94 | -aB4MpqM8pyvjlc/jYxUNFglj2WYxO0IufBrlKI5ePZ4omUjpR4YR4gQpYCuWlZmu |
|
| 95 | -P6v/P0WrfgdFTk0LGEA9OwKcTqkPpcI/SjB3rmZcs42yQWvimAF94GtScE09uKlI |
|
| 96 | -9QLS2UBmtl5EJRFVrDEC12dyamq8dDRfddyaT4MoQOAq3D9BQ1pHByu3pz/QFaJC |
|
| 97 | -1zAi8vbktPY7OMprTOc8pHDL3q8KFP8jJcoEzZ5Jw0vkCrULhLXvtFtjB0djzVxQ |
|
| 98 | -C0IKqQ== |
|
| 99 | ------END CERTIFICATE----- |
|
| 100 | -``` |
|
| 101 | - |
|
| 102 | - |
|
| 103 | -## Testing constraints |
|
| 104 | - |
|
| 105 | -The name constraints can be verified for example by using openssl: |
|
| 106 | -```sh |
|
| 107 | -openssl x509 -in dn42.crt -text -noout |
|
| 108 | -``` |
|
| 109 | -which will show among other things: |
|
| 110 | -``` |
|
| 111 | - X509v3 Name Constraints: |
|
| 112 | - Permitted: |
|
| 113 | - DNS:.dn42 |
|
| 114 | -``` |
|
| 115 | - |
|
| 116 | -## Importing the certificate |
|
| 117 | - |
|
| 118 | -- cacert have a comprehensive FAQ on how to import your own root certificates in [browsers](http://wiki.cacert.org/FAQ/BrowserClients) and [other software](http://wiki.cacert.org/FAQ/ImportRootCert) |
|
| 119 | - |
|
| 120 | -### Archlinux |
|
| 121 | - |
|
| 122 | -Install `ca-certificates-dn42` from [AUR](https://aur.archlinux.org/packages/ca-certificates-dn42/) |
|
| 123 | - |
|
| 124 | -### Debian/Ubuntu |
|
| 125 | - |
|
| 126 | -#### Unofficial Debian Package |
|
| 127 | - |
|
| 128 | -```bash |
|
| 129 | -wget https://ca.dn42.us/ca-dn42_20161122.0_all.deb |
|
| 130 | -# If you're on a dn42-only network: |
|
| 131 | -# wget --no-check-certificate https://ca.dn42/ca-dn42_20161122.0_all.deb |
|
| 132 | -sudo dpkg -i ca-dn42_20161122.0_all.deb |
|
| 133 | -sudo dpkg-reconfigure ca-certificates |
|
| 134 | -``` |
|
| 135 | - |
|
| 136 | -You will be asked which certificates you would like to enabled. By default, the dn42 root certifcate (dn42/root-ca.crt) is not enabled, be sure to enable it. This package is waiting for inclusion in Debian (Debian bug [#845351](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845351)). |
|
| 137 | - |
|
| 138 | -#### Manual Installation |
|
| 139 | - |
|
| 140 | -```bash |
|
| 141 | -$ mkdir /usr/share/ca-certificates/extra |
|
| 142 | -$ cat > /usr/share/ca-certificates/extra/dn42.crt <<EOF |
|
| 143 | ------BEGIN CERTIFICATE----- |
|
| 144 | -MIID8DCCAtigAwIBAgIFIBYBAAAwDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMC |
|
| 145 | -WEQxDTALBgNVBAoMBGRuNDIxIzAhBgNVBAsMGmRuNDIgQ2VydGlmaWNhdGUgQXV0 |
|
| 146 | -aG9yaXR5MR8wHQYDVQQDDBZkbjQyIFJvb3QgQXV0aG9yaXR5IENBMCAXDTE2MDEx |
|
| 147 | -NjAwMTIwNFoYDzIwMzAxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJYRDENMAsGA1UE |
|
| 148 | -CgwEZG40MjEjMCEGA1UECwwaZG40MiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAd |
|
| 149 | -BgNVBAMMFmRuNDIgUm9vdCBBdXRob3JpdHkgQ0EwggEiMA0GCSqGSIb3DQEBAQUA |
|
| 150 | -A4IBDwAwggEKAoIBAQDBGRDeAYYR8YIMsNTl/5rI46r0AAiCwM9/BXohl8G1i6PR |
|
| 151 | -VO76BA931VyYS9mIGMEXEJLlJPrvYetdexHlvrqJ8mDJO4IFOnRUYCNmGtjNKHvx |
|
| 152 | -6lUlmowEoP+dSFRMnbwtoN9xrmRHDed1BfTFAirSDL6jY1RiK60p62oIpF6o6/FS |
|
| 153 | -FE7RXUEv0xm65II2etGj8oT2B7L2DDDb23bu6RQFx491tz/V1TVW0JJE3yYeAPqu |
|
| 154 | -y3rJUGddafj5/SWnHdtAsUK8RVfhyRxCummAHuolmRKfbyOj0i5KzRXkfEn50cDw |
|
| 155 | -GQwVUM6mUbuqFrKC7PRhRIwc3WVgBHewTZlnF/sJAgMBAAGjgaowgacwDgYDVR0P |
|
| 156 | -AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFR2iLLAtTDQ/E/J |
|
| 157 | -bTv5jFURrBUVMB8GA1UdIwQYMBaAFFR2iLLAtTDQ/E/JbTv5jFURrBUVMEQGA1Ud |
|
| 158 | -HgQ9MDugOTAHggUuZG40MjAKhwisFAAA//wAADAihyD9QgAAAAAAAAAAAAAAAAAA |
|
| 159 | -//8AAAAAAAAAAAAAAAAAADANBgkqhkiG9w0BAQsFAAOCAQEAXKQ7QaCBaeJxmU11 |
|
| 160 | -S1ogDSrZ7Oq8jU+wbPMuQRqgdfPefjrgp7nbzfUW5GrL58wqj+5/FAqltflmSIHl |
|
| 161 | -aB4MpqM8pyvjlc/jYxUNFglj2WYxO0IufBrlKI5ePZ4omUjpR4YR4gQpYCuWlZmu |
|
| 162 | -P6v/P0WrfgdFTk0LGEA9OwKcTqkPpcI/SjB3rmZcs42yQWvimAF94GtScE09uKlI |
|
| 163 | -9QLS2UBmtl5EJRFVrDEC12dyamq8dDRfddyaT4MoQOAq3D9BQ1pHByu3pz/QFaJC |
|
| 164 | -1zAi8vbktPY7OMprTOc8pHDL3q8KFP8jJcoEzZ5Jw0vkCrULhLXvtFtjB0djzVxQ |
|
| 165 | -C0IKqQ== |
|
| 166 | ------END CERTIFICATE----- |
|
| 167 | -EOF |
|
| 168 | -$ echo "extra/dn42.crt" >> /etc/ca-certificates.conf |
|
| 169 | -$ update-ca-certificates |
|
| 170 | -``` |
|
| 171 | - |
|
| 172 | -### AlmaLinux/RockyLinux/Probably anything RHEL |
|
| 173 | - |
|
| 174 | -```bash |
|
| 175 | -$ /etc/pki/ca-trust/source/anchors/dn42.crt <<EOF |
|
| 176 | ------BEGIN CERTIFICATE----- |
|
| 177 | -... |
|
| 178 | ------END CERTIFICATE----- |
|
| 179 | -EOF |
|
| 180 | -$ update-ca-trust |
|
| 181 | -``` |
|
| 182 | - |
|
| 183 | -## PKI Store |
|
| 184 | - |
|
| 185 | -All issued keys and crl information are posted at: <https://ca.dn42/> |
services/DNS.md
| ... | ... | @@ -1,73 +0,0 @@ |
| 1 | -# DN42 DNS |
|
| 2 | - |
|
| 3 | -This page covers guidance and examples on using DNS within DN42. |
|
| 4 | - |
|
| 5 | -## Quick Start |
|
| 6 | - |
|
| 7 | -It is recommended to run your own DNS resolver as this provides you with the most security and privacy. |
|
| 8 | -However, to get started, or if running your own resolver isn't desirable an anycast service |
|
| 9 | -is available. The anycast service supports DNSSEC and will resolve public DNS names together with all the |
|
| 10 | -relevant DN42 and affiliated networks' names. |
|
| 11 | - |
|
| 12 | -### Using the DNS Anycast Service |
|
| 13 | - |
|
| 14 | -The DNS anycast service is provided by multiple operators, with each operator contributing to one of the two separate |
|
| 15 | -anycast services. By configuring both services, users get additional resiliency from having two, independent, resolvers. |
|
| 16 | - |
|
| 17 | -| Name | IPv4 | IPv6 | |
|
| 18 | -|---|---|---| |
|
| 19 | -| a0.recursive-servers.dn42 | 172.20.0.53 | fd42:d42:d42:54::1 | |
|
| 20 | -| a3.recursive-servers.dn42 | 172.23.0.53 | fd42:d42:d42:53::1 | |
|
| 21 | - |
|
| 22 | -To configure the service, ping both sets of addresses then set your primary nameserver to the lowest latency |
|
| 23 | -service and configure the other service as the secondary or backup nameserver. |
|
| 24 | - |
|
| 25 | -Example resolv.conf, preferring a0.recursive-servers.dn42 and IPv4: |
|
| 26 | - |
|
| 27 | -```conf |
|
| 28 | -nameserver 172.20.0.53 |
|
| 29 | -nameserver 172.23.0.53 |
|
| 30 | -nameserver fd42:d42:d42:54::1 |
|
| 31 | -nameserver fd42:d42:d42:53::1 |
|
| 32 | -search dn42 |
|
| 33 | -``` |
|
| 34 | - |
|
| 35 | -Example resolv.conf, preferring a3.recursive-servers.dn42 and IPv6: |
|
| 36 | - |
|
| 37 | -```conf |
|
| 38 | -nameserver fd42:d42:d42:53::1 |
|
| 39 | -nameserver fd42:d42:d42:54::1 |
|
| 40 | -nameserver 172.23.0.53 |
|
| 41 | -nameserver 172.20.0.53 |
|
| 42 | -option inet6 # Linux/glibc |
|
| 43 | -family inet6 inet4 # BSD |
|
| 44 | -search dn42 |
|
| 45 | -``` |
|
| 46 | - |
|
| 47 | -## Advanced Configuration |
|
| 48 | - |
|
| 49 | -There are multiple top level domains (TLDs) associated with DN42, its affiliated networks and for reverse DNS that must |
|
| 50 | -be configured in order to run your own resolver. The registry is the authoritative source of active TLDs, but see also |
|
| 51 | -this page [dns/External-DNS](/services/dns/External-DNS) in the wiki. |
|
| 52 | - |
|
| 53 | -### Split horizon DNS |
|
| 54 | - |
|
| 55 | -In this configuration, you run your own, caching resolver but forward DN42 related queries (with recursion bit set) |
|
| 56 | -to the anycast service. Example configurations for different recursor implementations are included in the [dns/Configuration](/services/dns/Configuration) page. |
|
| 57 | - |
|
| 58 | -### Full recursion |
|
| 59 | - |
|
| 60 | -Authoritative DNS for DN42 is provided by the *.delegation-servers.dn42 servers, see the DNS architecture here |
|
| 61 | -[New DNS](/services/New-DNS) Delegations servers have full support for DNSSEC. Example configuration unbound implementations are included in the [dns/Configuration](/services/dns/Configuration#resolver-setup) page. |
|
| 62 | - |
|
| 63 | -## Additional client configuration |
|
| 64 | - |
|
| 65 | -- **Firefox**: Set `browser.fixup.domainsuffixwhitelist.dn42` to `true` in `about:config` to prevent Firefox from confusing dn42 domains with search queries. |
|
| 66 | - |
|
| 67 | -## Further Information |
|
| 68 | - |
|
| 69 | -* [dns/Configuration](/services/dns/Configuration) - Forwarder/Resolver configuration examples |
|
| 70 | -* [New DNS](/services/New-DNS) - current architecture |
|
| 71 | -* [dns/External-DNS](/services/dns/External-DNS) - external DNS zones from interconnected networks |
|
| 72 | -* [Old Hierarchical DNS](/services/Old-Hierarchical-DNS) - deprecated |
|
| 73 | -* [Original DNS (deprecated)](/services/Original-DNS-(deprecated)) - deprecated |
services/E-Mail-Providers.md
| ... | ... | @@ -1,25 +0,0 @@ |
| 1 | -If you have an E-Mail service and would like to test it's functionality, send an email to [[email protected]](mailto:[email protected]). You will get a response usually within a few hours. |
|
| 2 | - |
|
| 3 | -**X Mail by Bingxin.** |
|
| 4 | -* X Mail <https://mail.x.dn42> |
|
| 5 | - * Free, easy to sign up, and unlimited internal email system. |
|
| 6 | - * Use the /email command on Telegram @baka_lg_bot to register an account. |
|
| 7 | - * Or, Register at <https://mail.x.dn42/email/> |
|
| 8 | - * Having issues with registration? Send an email to [[email protected]](mailto:[email protected]) or [[email protected]](mailto:[email protected]) for assistance. |
|
| 9 | - |
|
| 10 | -**bMail by Buzzster.** |
|
| 11 | -* bMail <https://mail.bmail.dn42> |
|
| 12 | - * Free, easy and unlimited internal email system. |
|
| 13 | - * Register at <https://accounts.buzzster.dn42/register> |
|
| 14 | - |
|
| 15 | -**Free E-Mail Addresses for DN42 Users.** |
|
| 16 | -* DN42 Mail, <https://dmail.dn42> |
|
| 17 | - * Free, easy to sign up, unlimited internal emailing. Hosted by zane_reick |
|
| 18 | - * Register at <https://dmail.dn42/register/register.php> |
|
| 19 | - |
|
| 20 | -### Simplelogin server: |
|
| 21 | -* a selfhosted [Simplelogin](https://simplelogin.io/) server for dn42.cc |
|
| 22 | -* create aliases that forward to your real e-mail |
|
| 23 | -* signup at <https://simplelogin.dn42/auth/register> with a clearnet e-mail address (dn42 mail addresses are for some reason not supported by simplelogin) |
|
| 24 | - * also available via <https://sl.dn42.cc/> (except signup) |
|
| 25 | -* for "lifetime premium" (more than 5 aliases + custom domains), if you want aliases for \<anything>@\<your_mntner>.dn42.cc or experience deliverability problems please send a mail to [[email protected]](mailto:[email protected]) or [[email protected]](mailto:[email protected]) |
services/Exchanges.md
| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | -In the real world two organizations have to lay cables to one another when they want to peer. This is why IXPs (Internet Exchange Points) or IXes (Internet Exchanges) for short exist. Instead of laying cables to one another, organizations lay cables to an exchange instead. This allows them to peer with hundreds of other companies. |
|
| 2 | - |
|
| 3 | -Even though DN42 has 'cheap' tunnels like Wireguard, as it is a simulation of the internet it makes sense to have exchanges as a learning exercise. |
|
| 4 | - |
|
| 5 | -IXP frnte operated by LGP Corp: [IXP frnte](/services/IXP-frnte) |
|
| 6 | - |
|
| 7 | ---- |
|
| 8 | - |
|
| 9 | -A few people have provided exchanges previously on DN42, however they created single |
|
| 10 | -points of failure and are no longer operating |
|
| 11 | - |
|
| 12 | -* Amsterdam (OpenVPN) - NL Zuid (marlinc) - <https://nl-zuid.dn42/> |
|
| 13 | -* Los Angeles (OpenVPN) - tombii - <https://nl-zuid.dn42/> |
|
| 14 | -* New York (OpenVPN) - tombii - <https://nl-zuid.dn42/> |
|
| 15 | -* Falkenstein/Hetzner (OpenVPN) - GRMML (Nurtic-Vibe) - <https://nl-zuid.dn42/> |
|
| 16 | -* India (OpenVPN) - Technopoint - apply via email to [[email protected]](mailto:[email protected]) (reply within 24hours) |
|
| 17 | - |
|
| 18 | -The NL-Zuid website is also available from the public internet: <https://nl-zuid.nl> |
|
| 19 | - |
|
| 20 | -Its generally recommended to only announce prefixes from your own network and that of your transit customers. |
services/IPv6-Anycast.md
| ... | ... | @@ -1,26 +0,0 @@ |
| 1 | -We provide some anycast services over IPv6. |
|
| 2 | - |
|
| 3 | -## Anycast address space |
|
| 4 | - |
|
| 5 | -**fd42:d42:d42::/48** is reserved for anycast services. |
|
| 6 | - |
|
| 7 | -Each anycast service runs on a dedicated /64 in this range. This way, nobody needs to update filters. |
|
| 8 | - |
|
| 9 | -Remember, if you announce an anycast /64, then you need to provide **all** services within this /64. It's probably simpler to only provide one service for each /64. |
|
| 10 | - |
|
| 11 | -## Anycast services |
|
| 12 | - |
|
| 13 | -| **Name** | **Service address** | **Protocol/port** | **Comment** | |
|
| 14 | -| ---------------------- | ------------------------- | ----------------- | ----------------------------- | |
|
| 15 | -| Recursive DNS resolver | `fd42:d42:d42:54::1/64` | UDP/53 | `.` and `dn42.` [Providers](/services/dns/Providing-Anycast-DNS#Persons-providing-anycast-DNS-for-IPv6) | |
|
| 16 | -| Whois Database | `fd42:d42:d42:43::1/64` | TCP/43 | | |
|
| 17 | -| TOR SOCKS5 Proxy | `fd42:d42:d42:9050::1/64` | TCP/9050 | | |
|
| 18 | -| internal Wiki | `fd42:d42:d42:80::1/64` | TCP/80, TCP/443 | | |
|
| 19 | -| myip.dn42 | `fd42:d42:d42:81::1/64` | TCP/80 | | |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -### Future services |
|
| 24 | - |
|
| 25 | -- streaming |
|
| 26 | -- other kind of DNS (authoritative-only, recursive for `dn42` only) |
services/IRC.md
| ... | ... | @@ -30,7 +30,3 @@ It is reachable from within DN42, ChaosVPN and the public internet. A connection |
| 30 | 30 | |
| 31 | 31 | It is reachable from the public internet at the address [irc.libera.chat](ircs://irc.libera.chat:6697). The channel is #dn42 |
| 32 | 32 | |
| 33 | -# replirc |
|
| 34 | - |
|
| 35 | -replirc does not have a channel about dn42 but it is connected to dn42 at the address [irc.replirc.dn42](ircs://irc.replirc.dn42:6697). It is also accessible via Tor, Yggdrasil or the internet. |
|
| 36 | - |
services/IX-Collection.md
| ... | ... | @@ -1,7 +0,0 @@ |
| 1 | -|Name|Wiki Page|Related Link(s)| |
|
| 2 | -|:---|:---|:---| |
|
| 3 | -|IXP-frnte|[IXP-frnte](/services/IXP-frnte)|N/A| |
|
| 4 | -|mcast-ix|[mcast-ix](/services/mcast-ix)|N/A| |
|
| 5 | -|SERNET-IX|[SERNET-IX](/services/SERNET-IX)|[https://blog.sherpherd.net/ix.html](https://blog.sherpherd.net/ix.html)| |
|
| 6 | -|SerinaIX||<https://ix.dn42.serinanya.cn/>| |
|
| 7 | -|Nedifinita IX||https://ix.nedifinita.com/| |
|
| ... | ... | \ No newline at end of file |
services/IXP-frnte.md
| ... | ... | @@ -1,116 +0,0 @@ |
| 1 | -The IXP frnte |
|
| 2 | -============= |
|
| 3 | - |
|
| 4 | -An IXP is a collection point for Internet providers. This can be physical or virtual. In a physical IXP, several Internet providers place servers in a data center and connect them to each other. |
|
| 5 | - |
|
| 6 | -In a virtual IXP, the servers are not "real". They are not physically connected with cables, but for example via a VPN. |
|
| 7 | - |
|
| 8 | -In dn42 almost all connections are virtual. One builds on the Internet and creates virtual links between the single nodes. In IXP frnte, all providers have virtual machines, which are connected to each other. Due to the large number of providers in IXP, it is possible to reach them easily and with low latency. However, the large number also leads to the fact that no direct peerings are established within an IXP, instead route servers are used. This receives and coordinates all routes of the providers and sends out appropriate routes. This way, many indirect peerings can be established. |
|
| 9 | - |
|
| 10 | -Current participants |
|
| 11 | --------------------- |
|
| 12 | - |
|
| 13 | -| Name | AS | Route server | IRC | |
|
| 14 | -| --- | --- | --- | --- | |
|
| 15 | -| Bandura's network | 4242422923 | 4242421081 | mark22k | |
|
| 16 | - |
|
| 17 | -History and origin |
|
| 18 | ------------------- |
|
| 19 | - |
|
| 20 | -In dn42 and in the Anonet there was the UCIS IXP for a long time. However, this is no longer actively operated. |
|
| 21 | - |
|
| 22 | -Members of the LGP Corp have now created a new IXP in dn42. This is the IXP frnte. It is located in France near Nantes and has two separate internet connections. This article describes how to enter the IXP and set up peering with the current route server. |
|
| 23 | - |
|
| 24 | -Join the IXP |
|
| 25 | ------------- |
|
| 26 | - |
|
| 27 | -### 1\. Request the infrastructure |
|
| 28 | - |
|
| 29 | -LGP Corp provides virtual machines free of charge to any AS operator or anyone who wants to experiment with networks. There are no costs! The VM's can be configured and linked together as desired. The VM's can be connected to each other via a VLAN. Furthermore, an internet connection is available with two ISPs, depending on your choice. The virtual machine gets a public IPv6 and if necessary IPv4 over NAT to be able to access important resources like GitHub. |
|
| 30 | -It is best to create a diagram of your network and send it to the LGP Corp. |
|
| 31 | -The LGP Corp or the responsible admin for the IXP can be reached in **IRC** on hackint.org under **toinux**. Send the diagram to them and discuss further details. |
|
| 32 | -Furthermore, all virtual machines are put into a common VLAN. This causes that one can reach all providers at the IXP without problems. |
|
| 33 | - |
|
| 34 | -### 2\. Proxmox Login and VM Setup |
|
| 35 | - |
|
| 36 | -After that you will receive your access data for the Proxmox portal from the LGP Corp. Under which you can set up your VM's. The portal can be reached under [**https://pve.home.lgp-corp.fr/**](https://pve.home.lgp-corp.fr/). Select "Proxmox VE authentication server" as "Realm". It also offers a VNC monitor to work directly on the server. For the setup under SSH an IPv6 connectivity to the internet is required. If you only have an IPv4, you can get an IPv6 for free from Hurricane Electric at [https://tunnelbroker.net/](https://tunnelbroker.net/). |
|
| 37 | - |
|
| 38 | -### 3\. Configure VLAN |
|
| 39 | - |
|
| 40 | -An internal IPv6 Range has been requested for the IXP: `fde0:93fa:7a0:2::/64` ([fde0:93fa:7a0:2::/64 on explorer](https://explorer.dn42.dev/#/inet6num/fde0:93fa:7a0:2::_64)) |
|
| 41 | - |
|
| 42 | -The following is the assignment policy: |
|
| 43 | -`fde0:93fa:7a0:2:0:<asn32|high16|hex>:<asn32|low16|hex>:1/64` |
|
| 44 | -For example, if you have the ASN 4242421080, you get the range `fde0:93fa:7a0:2:0:fcde:3558:1/64` |
|
| 45 | -It should be noted that only the last block may be changed. So you get a practical IPv6 range of `fde0:93fa:7a0:2:0:fcde:3558:/112`. |
|
| 46 | -A Ruby script to calculate the IPv6 can be found on [ixp\_frnte\_dn42\_prefix.rb on GitHub Gist](https://gist.github.com/marek22k/494cf9c4d269867f23f2c3577e1780ef). |
|
| 47 | - |
|
| 48 | -An example configuration for Debian based Linux distributions would be: |
|
| 49 | - |
|
| 50 | -```sh |
|
| 51 | -iface ensXX inet6 static |
|
| 52 | - address fde0:93fa:7a0:2:0:fcde:3558:1/64 |
|
| 53 | -``` |
|
| 54 | - |
|
| 55 | -Here `ensXX` is the dn42 VLAN interface. This can be determined by comparing the MAC address of the interface with the MAC address of the dn42 VLAN in Proxmox. The MAC address can be determined on Linux with `ip l`: |
|
| 56 | - |
|
| 57 | -```sh |
|
| 58 | -ensXX: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu |
|
| 59 | - 1500 qdisc pfifo_fast state UP mode DEFAULT group |
|
| 60 | - default qlen 1000 |
|
| 61 | - link/ether MAC brd ff:ff:ff:ff:ff:ff |
|
| 62 | -``` |
|
| 63 | - |
|
| 64 | -`MAC` would be the MAC address. After that you can activate the interface with ifup or a reboot of the VM. |
|
| 65 | -Of course there are other configuration possibilities. This is only an example for Debian-based Linux distributions. |
|
| 66 | - |
|
| 67 | -### 4\. Connect to the Route Server |
|
| 68 | - |
|
| 69 | -There can be several Route Servers (RS) on one IXP. However, on the IXP frnte there is currently only one, which is operated by jlu5 (operator of the highdef network). |
|
| 70 | -IPv6: fde0:93fa:7a0:2:0:fcde:3559:1 |
|
| 71 | -ASN: 4242421081 |
|
| 72 | - |
|
| 73 | -You can now enter this configuration into your routing daemon and it will connect to the RS. You should keep in mind that the RS itself does not forward any traffic, but is only responsible for the coordination. Therefore the AS path must not necessarily start with the AS of the RS. |
|
| 74 | - |
|
| 75 | -An example configuration for bird2 would be the following: |
|
| 76 | - |
|
| 77 | -```conf |
|
| 78 | -protocol bgp ixp_rs from dnpeers { |
|
| 79 | - neighbor fde0:93fa:7a0:2:0:fcde:3559:1 as 4242421081; |
|
| 80 | - |
|
| 81 | - enable extended messages on; |
|
| 82 | - direct; |
|
| 83 | - enforce first as off; |
|
| 84 | - |
|
| 85 | - ipv4 { |
|
| 86 | - extended next hop; |
|
| 87 | - }; |
|
| 88 | -} |
|
| 89 | -``` |
|
| 90 | - |
|
| 91 | -**What does this configuration do?** |
|
| 92 | - |
|
| 93 | -First we create a new BGP session (`protocol bgp`). This is based on the dnpeers template which can be found in the standard Bird2 configuration in the [wiki](/howto/Bird2). We name this session "ixp\_rs". However, this is only an internal name and can be replaced with another one. |
|
| 94 | - |
|
| 95 | -After that we determine with whom we want to have the session. This would be the RS. Therefore we put IPv6 address and ASN there. |
|
| 96 | - |
|
| 97 | -Furthermore, we allow larger BGP messages. Thus, instead of 4096 bytes, a whole 65535 bytes are transmitted in one message. This is especially useful because an RS has to announce a lot of routes. |
|
| 98 | - |
|
| 99 | -With `direct` we indicate that the RS is directly connected to our server and no routing via third parties has to be performed. In our case, the RS is connected to us via the dn42 VLAN. |
|
| 100 | - |
|
| 101 | -The next line has the effect that the ASN of the RS does not necessarily have to be the next hop for routing. This is important because we do not route the traffic via the RS, but via the respective peers. These have an ASN that differs from the ASN of the RS. |
|
| 102 | - |
|
| 103 | -Since the dn42 VLAN _only_ supports IPv6, any IPv4 traffic must also go over IPv6. If you do not have or do not want to use IPv4, you can ignore this part of the configuration. |
|
| 104 | - |
|
| 105 | -Finally we save the bird2 configuration and load the new configuration with `birdc configure`. |
|
| 106 | - |
|
| 107 | -### 5\. Check if it works |
|
| 108 | - |
|
| 109 | -There are now a few things to check: |
|
| 110 | -Once you can see if the BGP session is esablished. In Bird you can do this with `birdc show protocols all ixp_rs`. |
|
| 111 | -Furthermore, you can display different routes (in case of bird with `birdc show route for [ip address]`) or perform a traceroute. |
|
| 112 | -One can also try to ping the IP of some at the IXP. From the latency you can also see if everything is working: |
|
| 113 | - |
|
| 114 | -* Bandura's pingable: |
|
| 115 | - * `172.22.149.224` |
|
| 116 | - * `fd04:234e:fc31::` |
services/New-DNS.md
| ... | ... | @@ -1,52 +0,0 @@ |
| 1 | -After frequent issues with the [Old Hierarchical DNS](/services/Old-Hierarchical-DNS) system in early 2018, work has started to build a new and more reliable DNS system. The main goals are: |
|
| 2 | -* Reliability and Consistency to avoid debugging very obscure issues that are also hard to reproduce. |
|
| 3 | -* Low maintenance burden on operators. |
|
| 4 | -* Proper DNSSEC support for everything. |
|
| 5 | - |
|
| 6 | -# End Users |
|
| 7 | -It is **strongly recommended** to run your own resolver for security and privacy reasons. Setting it up and maintaining it should be easy, see [services/dns/Configuration](/services/dns/Configuration). |
|
| 8 | - |
|
| 9 | -If running your own resolver is not possible or desirable, you can choose one or more instances from [dns/recursive-servers.dn42 in the registry](https://git.dn42.dev/dn42/registry/src/master/data/dns/recursive-servers.dn42). Please make sure you fully understand the consequences and fully trust these operators. |
|
| 10 | - |
|
| 11 | -You can also use the globally anycasted a.recursive-servers.dn42 but you won't have any control over which instance you get. This is a **very bad idea** from a security standpoint. |
|
| 12 | - |
|
| 13 | -# Instances |
|
| 14 | -The new DNS system has two different components: |
|
| 15 | -* *.recursive-servers.dn42 and local resolvers responsible for handling queries from clients, validating DNSSEC and directing the queries at clearnet/dn42/ICVPN. |
|
| 16 | -* *.delegation-servers.dn42 and *.master.delegation-servers.dn42 are a normal master-slave setup for providing the few official infrastructural zones. |
|
| 17 | - |
|
| 18 | -## *.recursive-servers.dn42 |
|
| 19 | -These are simple resolvers capable of resolving dn42 domains. Every operator gets a single letter name pointing to addresses assigned from their own address space and is strongly encouraged to use anycasting across multiple nodes to improve reliability. There is also the global anycast a.recursive-servers.dn42 which includes some/all other instances. Whether an *.recursive-servers.dn42 can resolve clearnet queries or not is decided by its operator but all a.recursive-servers.dn42 instances MUST resolve clearnet queries correctly. It is explicitly not supported to use clearnet nservers for dn42 zones and dn42 nservers for clearnet zones. |
|
| 20 | - |
|
| 21 | -## *.delegation-servers.dn42 |
|
| 22 | -These are simple authoritative servers for the dn42 zone, rDNS and a few DNS infrastructure zones. Every operator gets a single letter name pointing to addresses assigned from their own address space and is strongly encouraged to use anycasting across multiple nodes to improve reliability. There is no anycast instance because that would make debugging much harder and *.recursive-servers.dn42 instances should do loadbalancing/failover across all instances listed in the registry. |
|
| 23 | - |
|
| 24 | -## *.master.delegation-servers.dn42 |
|
| 25 | -These instances do not serve any clients. They poll the registry regularly and rebuild and resign (DNSSEC) the zones as needed. If any zone changes, all *.delegation-servers.dn42 instances are notified ([RFC1996](https://tools.ietf.org/html/rfc1996)) which then load the new zone data over AXFR ([RFC5936](https://tools.ietf.org/html/rfc5936)). The pool of masters is intentionally kept very small because of its much higher coordination needs and also the lacking support of a multi-master mode in many authoritative server implementations. The masters are only reachable over dedicated IPv6 assignments which are set up in a way that any master operator can hijack the address of a problematic master without having to wait for its operator to fix something. |
|
| 26 | - |
|
| 27 | -# Running your own instances |
|
| 28 | -* If you want to run your own instances, make sure you are subscribed to the [mailinglist](/contact). It is also strongly recommended to join #dn42-dns@hackint. All changes are announced to the mailinglist but IRC makes debugging sessions much easier. |
|
| 29 | -* Choose the implementation(s) you want to use. It should support at least AXFR+NOTIFY (*.delegation-servers.dn42) or DNSSEC (*.recursive-servers.dn42). |
|
| 30 | -* Check if [TODO](/TODO) already has configuration snippets for your implementation. |
|
| 31 | - * If yes, download it from there and include it in the main configuration. |
|
| 32 | - * If not, then join us in #dn42-dns@hackint so we can add it together. |
|
| 33 | -* Verify that everything works: |
|
| 34 | - * For *.delegation-servers.dn42: Do an AXFR against all zones and compare with the result of an existing instance. The result should be identical. |
|
| 35 | - * For *.recursive-servers.dn42: Query clearnet, dn42 and ICVPN domains including rDNS. Make sure that both signed and unsigned domains work properly. |
|
| 36 | -* (Optional) Choose your single letter name and ask in #dn42-dns@hackint to get it added to the registry. Once added to the list, you must implement changes announced to the mailinglist within a week (faster is obviously better) or you might get removed again. We try to keep maintenance work as low as possible but we can't do it without the cooperation of all operators! |
|
| 37 | - |
|
| 38 | -# [Monitoring](https://grafana.burble.com/d/E4iCaHoWk/dn42-dns-status?orgId=1&refresh=1m) |
|
| 39 | -burble is providing monitoring for the new DNS system. It does simple checks on all instances every minute and also logs all changes into #dn42-dns@hackint. |
|
| 40 | - |
|
| 41 | -Also, gatuno provides another simple [dns checker for all the top level domains](http://gatuno.dn42/dns/) in the registry. If you want to check whatever a domain is resolving or not, this tool may be useful. The tool gets in sync with the registry every 12 hours. You can schedule checks for any domain. |
|
| 42 | - |
|
| 43 | -# DNSSEC |
|
| 44 | -There are currently two KSKs managed by BURBLE-MNT and JRB0001-MNT. They are used once per quarter to sign the DNSKEY RRset. Each master operator has one ZSK which is used to sign the zones (except for the DNSKEY RRset). This setup leads to bigger responses but allows each KSK holder to solve emergencies independently. The signatures of the DNSKEY RRset are valid until the end of the first month of the next quarter to give enough time for coordinating the next signing. All other signatures are valid for 3 days and replaced at least once per day. |
|
| 45 | - |
|
| 46 | -The set of valid KSKs can be found in the registry. |
|
| 47 | - |
|
| 48 | -# See also |
|
| 49 | - |
|
| 50 | -* [DNS Quick Start](/services/DNS) |
|
| 51 | -* [Old Hierarchical DNS](/services/Old-Hierarchical-DNS) |
|
| 52 | -* [Original DNS (deprecated)](/services/Original-DNS-(deprecated)) |
services/Old-Hierarchical-DNS.md
| ... | ... | @@ -1,49 +0,0 @@ |
| 1 | -This information is now **deprecated**. Please check [New DNS](/services/New-DNS) for the current architecture. |
|
| 2 | - |
|
| 3 | -*** |
|
| 4 | - |
|
| 5 | -DNS in the global internet is designed as a tree starting from "." and traveling outward in layers. Currently in DN42 dns is flat. This leads to issues when trying to debug problems and makes it difficult to delegate to subnets smaller than /24. Another problem that arises is having the root dns setup as an anycast. If one of the anycast roots is having problems it creates inconsistent errors for some users. This has led to the problem of when a user has a poorly configured anycast available to create their own root anycast. |
|
| 6 | - |
|
| 7 | -The purpose of this project is to create a system of high quality dns roots. With them in place, an anycast resolver would only need to be a simple caching resolver that uses the roots to query. |
|
| 8 | - |
|
| 9 | -## Hierarchy in DN42 |
|
| 10 | - |
|
| 11 | - - . (dot) |
|
| 12 | - - arpa |
|
| 13 | - - in-addr |
|
| 14 | - - 172 |
|
| 15 | - - 20 |
|
| 16 | - - 22 |
|
| 17 | - - 23 |
|
| 18 | - - 31 |
|
| 19 | - - dn42 |
|
| 20 | - - \<dn42 domain names> |
|
| 21 | - - hack |
|
| 22 | - - ffhh |
|
| 23 | - - \<Future Top Level Domains?> |
|
| 24 | - - \<ano, bit or other organisation TLDs?> |
|
| 25 | - - \<ICANN TLDs> |
|
| 26 | - |
|
| 27 | -Note: With this system it could be possible to merge the IANA root file.. but it would be beyond the scope of this project. |
|
| 28 | - |
|
| 29 | -## Servers |
|
| 30 | - |
|
| 31 | -For all of these servers they have a specific IP assigned, only respond to their authoritative zones, and do not allow recursion. |
|
| 32 | - |
|
| 33 | -**\<name>.root-servers.dn42** - This server is authoritative for "." (root zone). Is authorative for ICANN root as well. "172.in-addr.arpa" is delegated to ICANN, except rfc1918 zones which are delegated to dn42. The rest of rfc1918 as well as rfc4193 address space is delegated to dn42. |
|
| 34 | - |
|
| 35 | -**\<name>.zone-servers.dn42** - This server is authoritative for "dn42", "hack", .. This would be where the records for all forward dns nameservers would be. Similar to our current root setup. |
|
| 36 | - |
|
| 37 | -**\<name>.in-addr-servers.arpa** - This server is authoritative for "arpa", "in-addr", and each of the 172 zones for dn42 ip space. For non dn42 ip space NS records to the respective darknet would need to be registered. |
|
| 38 | - |
|
| 39 | -**\<name>.dn42-servers.arpa** - This server is authoritative for RFC 2317 delegations. For any inetnum object smaller than /24 and whos parent has no nameserver records, a C class parent zone is created (all its subnetworks are delegated to appropriate nameservers with CNAME) |
|
| 40 | - |
|
| 41 | -Real-time server monitor is available at <http://nixnodes.net/dn42/dnsview> |
|
| 42 | - |
|
| 43 | -## Setup |
|
| 44 | - |
|
| 45 | -Contact one of the root-servers.dn42 operators if you wish to set up a root/zone/dn42 server. |
|
| 46 | - |
|
| 47 | -You may want to set up a resolver, see link below or use 172.23.0.53 directly. |
|
| 48 | - |
|
| 49 | -Techical information available [here](https://nixnodes.net/wiki/n/DN42_DNS) |
services/Original-DNS-(deprecated).md
| ... | ... | @@ -1,46 +0,0 @@ |
| 1 | -# Original DNS (deprecated) |
|
| 2 | -This information is now **deprecated**. Please check [New DNS](/services/New-DNS) for the current architecture. |
|
| 3 | - |
|
| 4 | -*** |
|
| 5 | - |
|
| 6 | -*(tl;dr)* We have a TLD for dn42, which is `.dn42`. The anycast resolver for `.dn42` runs on `172.20.0.53` and `fd42:d42:d42:54::1`. |
|
| 7 | - |
|
| 8 | -**DNS is built from the [whois database](/services/Whois). Please edit your DNS records there.** |
|
| 9 | - |
|
| 10 | -## Using the DNS service |
|
| 11 | - |
|
| 12 | -Below are several ways to use the `dn42` DNS service, from easiest to more challenging. The recommended method is the second one. |
|
| 13 | - |
|
| 14 | -### Using the anycast resolver directly |
|
| 15 | - |
|
| 16 | -Please be aware that this method sends **all** your DNS queries (e.g. `google.com`) to a random DNS server inside dn42. The server could fake the result and point you towards the russian mafia. They probably won't, but think about what you are doing. At the end of the day, your ISP could be evil as well, so it always boils down to a question of trust. |
|
| 17 | - |
|
| 18 | -To do this, just use `172.20.0.53` or `fd42:d42:d42:54::1` as your resolver, for instance in `/etc/resolv.conf`. |
|
| 19 | - |
|
| 20 | -### Forwarding `.dn42` queries to the anycast resolver |
|
| 21 | - |
|
| 22 | -If you run your own resolver (`unbound`, `dnsmasq`, `bind`), you can configure it to forward dn42 queries to the anycast DNS resolver. See [DNS forwarder configuration](/services/dns/Configuration). |
|
| 23 | - |
|
| 24 | -### Recursive resolver |
|
| 25 | - |
|
| 26 | -You may also want to configure your resolver to recursively resolve dn42 domains. For this, you need to find authoritative DNS servers for the `dn42` zone (and for the reverse zones). See [services/dns/Recursive DNS resolver](/services/dns/Recursive-DNS-resolver). |
|
| 27 | - |
|
| 28 | -### Building the dn42 zones from the registry |
|
| 29 | - |
|
| 30 | -Finally, you may want to host your own authoritative DNS server for the `dn42` zone and the reverse zones. The zone files are built from the monotone repository: scripts are provided in the repository itself. |
|
| 31 | - |
|
| 32 | -## Register a `.dn42` domain name |
|
| 33 | - |
|
| 34 | -The root zone for `dn42.` is built from the [whois registry](/services/Whois). If you want to register a domain name, you need to add it to the registry (of course, you also need one or two authoritative nameservers). |
|
| 35 | - |
|
| 36 | -## DNS services for other networks |
|
| 37 | - |
|
| 38 | -Other networks are interconnected with dn42 (ChaosVPN, Freifunk, etc). Some of them also provide DNS service, you can configure your resolver to use it. See [External DNS](/services/dns/External-DNS). |
|
| 39 | - |
|
| 40 | -## Providing DNS services |
|
| 41 | - |
|
| 42 | -See [Providing Anycast DNS](/services/dns/Providing-Anycast-DNS). |
|
| 43 | - |
|
| 44 | -## [Old Hierarchical DNS](/services/Old-Hierarchical-DNS) |
|
| 45 | - |
|
| 46 | -This is a new effort to build a DNS system that mirrors how DNS was designed to work in clearnet. |
services/Registry.md
| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | -# Registry cleanup process |
|
| 2 | -This process is used to remove inactive objects based on MRT data and the git commit history. |
|
| 3 | -The process is to be executed on a regular basis (yearly). |
|
| 4 | - |
|
| 5 | -A maintainer is classified as "inactive" if the following conditions have been fulfilled: |
|
| 6 | -1. All of the ASNs the maintainer has been directly or indirectly associated with (in any way and by following all references, whether through mnt-by, admin-c, tech-c, etc. or through an ORG) have not been observed originating any prefix in the global routing table at any point within the last three years. (Determined by analyzing the daily MRT RIB dumps provided by the DN42 Global Route collector.) |
|
| 7 | -2. The maintainer has not edited any of the ASNs they are associated with in the registry within the last three years. (Determined by analyzing the git commit history.) |
|
| 8 | - |
|
| 9 | -Maintainers that are not affiliated with an ASN (whether directly or indirectly or through other maintainers) are also considered inactive regardless of whether they fulfill the above conditions. |
|
| 10 | - |
|
| 11 | -## Process |
|
| 12 | - |
|
| 13 | -Using **registry_wizard (written for v0.4.12)**: |
|
| 14 | - |
|
| 15 | -1. Download the MRT files from the Global Route Collector (GRC): |
|
| 16 | -`wget -r -np -nH --cut-dirs=1 -A "*.mrt.bz2" --reject "*:*" http://collector.dn42/` |
|
| 17 | -2. Generate a list of active ASNs based on MRT data: |
|
| 18 | -`./registry_wizard /path/to/registry mrt_activity parse /path/to/mrt/files --cutoff-time <value> --list > active_list.txt` |
|
| 19 | -3. Based on the list of active ASNs and through referencing the registry git commit log, generate a list of inactive ASNs: |
|
| 20 | -`./registry_wizard /path/to/registry mrt_activity active_asn_to_inactive --list_file /path/to/active_list.txt --cutoff-time <value> > inactive_list.txt` |
|
| 21 | -4. Generate the removal commands to remove inactive objects based on the previous list: |
|
| 22 | -`./registry_wizard /path/to/registry remove aut-num --list_file /path/to/inactive_list.txt --enable_subgraph_check` |
|
| 23 | - |
|
| 24 | -ASNs can be excluded from removal by removing them from the list produced in step 3. |
|
| 25 | - |
|
| 26 | -Manual review of a few resources (primarily those affiliated with "DN42-MNT") will be required as they cannot be removed in an automated way (for example, resources associated with an inactive maintainer that used to host the DN42 anycast DNS will be affiliated with DN42-MNT and will require manual removal). |
|
| 27 | -To identify the exact conflicts leading to the manual review requirement the following command can be used: |
|
| 28 | -`./registry_wizard /path/to/registry graph path mntner YAMAKAYA-MNT mntner DN42-MNT` (To list conflicts between YAMAKAYA-MNT and DN42-MNT) |
|
| ... | ... | \ No newline at end of file |
services/Repository-Mirrors.md
| ... | ... | @@ -1,68 +0,0 @@ |
| 1 | -# Repository Mirrors |
|
| 2 | - |
|
| 3 | -There are some mirrors available in DN42. All mirrors are subdomains of "mirror.dn42". DNS Round-Robin is set up for Load Balancing. |
|
| 4 | - |
|
| 5 | -## mirror.ano-org.dn42 |
|
| 6 | - |
|
| 7 | -Proxy to multiple repositories: |
|
| 8 | - |
|
| 9 | -* <http://mirror.ano-org.dn42/debian>: deb.debian.org/debian |
|
| 10 | -* <http://mirror.ano-org.dn42/debsec>: security.debian.org/debian-security |
|
| 11 | -* <http://mirror.ano-org.dn42/ubuntu>: archive.ubuntu.com/ubuntu |
|
| 12 | -* <http://mirror.ano-org.dn42/ubsec>: security.ubuntu.com/ubuntu |
|
| 13 | -* <http://mirror.ano-org.dn42/proxmox>: download.proxmox.com/debian |
|
| 14 | -* <http://mirror.ano-org.dn42/grafana>: packages.grafana.com/oss/deb |
|
| 15 | -* <http://mirror.ano-org.dn42/rpi>: archive.raspberrypi.org/debian |
|
| 16 | - |
|
| 17 | -Other repos can be added on request, contact glueckself@hackint on IRC or send a mail to <[email protected]> |
|
| 18 | - |
|
| 19 | -## Ubuntu |
|
| 20 | -**<http://mirror.dn42/ubuntu>** |
|
| 21 | - |
|
| 22 | -Hosted by: |
|
| 23 | -* mephisto |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## mirror.yandex.ru proxy |
|
| 27 | -**<http://172.23.158.41/>** |
|
| 28 | -**<http://[fd91:9191:9191:3::1]/>** |
|
| 29 | - |
|
| 30 | -Hosted by: |
|
| 31 | -* ne-vlezay80 |
|
| 32 | - |
|
| 33 | -## mirrors.nia.dn42 (IPv6 Only) |
|
| 34 | - |
|
| 35 | -[eweOS](https://os.ewe.moe/download): |
|
| 36 | -* <http://mirrors.nia.dn42/eweos/>: Official Mirror in DN42 |
|
| 37 | -* <http://mirrors.nia.dn42/eweos-images/>: Official Mirror in DN42 |
|
| 38 | - |
|
| 39 | -## mirror.z.dn42 |
|
| 40 | - |
|
| 41 | -Not hosting repositories itself, it collects other mirrors |
|
| 42 | - |
|
| 43 | -* Dynamic page: **<http://mirror.z.dn42/>** |
|
| 44 | -* Static page: **<http://mirror.z.dn42/_/>** |
|
| 45 | - |
|
| 46 | -## mirrors.leziblog.dn42 |
|
| 47 | - |
|
| 48 | -Notes: |
|
| 49 | -- Local repository, hosted by [LeZi](mailto:[email protected]) |
|
| 50 | -- Synchronize with the upstream every day at 00:00 UTC. |
|
| 51 | -- Supports `https`, `rsync` |
|
| 52 | - - https: `https://mirrors.leziblog.dn42` |
|
| 53 | - - rsync: `rsync://rsync.mirrors.leziblog.dn42` |
|
| 54 | - |
|
| 55 | -Ubuntu: |
|
| 56 | -- <http://mirrors.leziblog.dn42/ubuntu/>: archive.ubuntu.com/ubuntu |
|
| 57 | -- <http://mirrors.leziblog.dn42/ubuntu-ports/>: ports.ubuntu.com |
|
| 58 | - |
|
| 59 | -OpenWrt: |
|
| 60 | -- <http://mirrors.leziblog.dn42/openwrt/>: downloads.openwrt.org |
|
| 61 | - |
|
| 62 | -Ubuntu-image: |
|
| 63 | -- 20.04.6 |
|
| 64 | - - [magnet:?xt=urn:btih:83df9f532bed288518d884fe63363e8f5b2286e2](magnet:?xt=urn:btih:83df9f532bed288518d884fe63363e8f5b2286e2&dn=ubuntu-20.04.6-live-server-amd64&tr=udp%3A%2F%2Ftracker.leziblog.dn42%3A11451&tr=https%3A%2F%2Ftracker.leziblog.dn42%2Fannounce&tr=http%3A%2F%2Ftracker.leziblog.dn42%2Fannounce) |
|
| 65 | -- 22.04.5 |
|
| 66 | - - [magnet:?xt=urn:btih:8df707795d20b9d8021241d56c6f8282929c8b8d](magnet:?xt=urn:btih:8df707795d20b9d8021241d56c6f8282929c8b8d&dn=ubuntu-22.04.5-live-server-amd64&tr=udp%3A%2F%2Ftracker.leziblog.dn42%3A11451&tr=https%3A%2F%2Ftracker.leziblog.dn42%2Fannounce&tr=http%3A%2F%2Ftracker.leziblog.dn42%2Fannounce) |
|
| 67 | -- 24.04.3 |
|
| 68 | - - [magnet:?xt=urn:btih:5fd2dd3688fdb31fe554b15ed65228f3db29a9f9](magnet:?xt=urn:btih:5fd2dd3688fdb31fe554b15ed65228f3db29a9f9&dn=ubuntu-24.04.3-live-server-amd64&tr=udp%3A%2F%2Ftracker.leziblog.dn42%3A11451&tr=https%3A%2F%2Ftracker.leziblog.dn42%2Fannounce&tr=http%3A%2F%2Ftracker.leziblog.dn42%2Fannounce) |
|
| ... | ... | \ No newline at end of file |
services/Route-Beacon.md
| ... | ... | @@ -1,4 +0,0 @@ |
| 1 | -There is a route beacon periodically advertising and withdrawing the prefixes `172.21.100.24/29` and `fd40:e3b7:1d77:1234::/64`. These are the only prefixes of as4242421933. |
|
| 2 | -The schedule is the following: the prefixes are announced in every even (cest) hour in between minutes 1-10, and withdrawn when the clock is outside of the above mentioned period. |
|
| 3 | -The main purpose of the whole experiment is to be able to spot the ghosting implementations. |
|
| 4 | -The current state could be monitored on the prometheus or nrpe endpoint at test.nop.dn42 or one can query the last recorded ghosting state by telnetting the same endpoint and issuing commands from the banner. |
services/SERNET-IX.md
| ... | ... | @@ -1 +0,0 @@ |
| 1 | -Placeholder. |
|
| ... | ... | \ No newline at end of file |
services/Statistics.md
| ... | ... | @@ -1,115 +0,0 @@ |
| 1 | -# Statistics |
|
| 2 | - |
|
| 3 | - |
|
| 4 | -## IRC |
|
| 5 | - |
|
| 6 | -Channel statistics for #dn42@hackint are available at: <https://dev.0l.dn42/stats/>. |
|
| 7 | - |
|
| 8 | -## Scripts |
|
| 9 | - |
|
| 10 | -### Number of prefixes for collectd |
|
| 11 | - |
|
| 12 | -#### collectd.conf |
|
| 13 | - |
|
| 14 | -```conf |
|
| 15 | -LoadPlugin exec |
|
| 16 | -<Plugin exec> |
|
| 17 | - Exec nobody "/etc/collectd/bgp_prefixes-quagga.sh" |
|
| 18 | -</Plugin> |
|
| 19 | -``` |
|
| 20 | - |
|
| 21 | -collectd refuses to exec scripts as root. On Debian vtysh is compiled with PAM support: adding nobody to the quaggavty group suffices. |
|
| 22 | - |
|
| 23 | -#### bgp_prefixes-quagga.sh |
|
| 24 | - |
|
| 25 | -```sh |
|
| 26 | -#!/bin/bash |
|
| 27 | - |
|
| 28 | -INTERVAL=10 |
|
| 29 | -HOSTNAME=dn42.hq.c3d2.de |
|
| 30 | - |
|
| 31 | -while true; do |
|
| 32 | -n4=$(vtysh -d bgpd -c "show ip bgp"|grep Total|sed -e 's/Total number of prefixes //') |
|
| 33 | -n6=$(vtysh -d bgpd -c "show ipv6 bgp"|grep Total|sed -e 's/Total number of prefixes //') |
|
| 34 | - |
|
| 35 | -echo "PUTVAL $HOSTNAME/quagga-bgpd/routes-IPv4 interval=$INTERVAL N:$n4" |
|
| 36 | -echo "PUTVAL $HOSTNAME/quagga-bgpd/routes-IPv6 interval=$INTERVAL N:$n6" |
|
| 37 | - |
|
| 38 | -sleep $INTERVAL |
|
| 39 | -done |
|
| 40 | -``` |
|
| 41 | - |
|
| 42 | -#### Number of prefixes per neighbour for bird |
|
| 43 | - |
|
| 44 | -```sh |
|
| 45 | -#!/bin/sh |
|
| 46 | -# |
|
| 47 | -# Collectd script for collecting the number of routes going through each |
|
| 48 | -# BGP neighour. Works for bird. |
|
| 49 | -# |
|
| 50 | -# See https://dn42.net/Services-Statistics |
|
| 51 | - |
|
| 52 | -INTERVAL=60 |
|
| 53 | -HOSTNAME=mydn42router |
|
| 54 | -[ -n "$COLLECTD_HOSTNAME" ] && HOSTNAME="$COLLECTD_HOSTNAME" |
|
| 55 | - |
|
| 56 | -while true |
|
| 57 | -do |
|
| 58 | - birdc 'show protocols "*"' | grep ' BGP' | cut -d ' ' -f 1 | while read neighbour |
|
| 59 | - do |
|
| 60 | - nbroutes=$(birdc "show route protocol $neighbour primary count" | grep -v 'BIRD' | cut -d ' ' -f 1) |
|
| 61 | - echo "PUTVAL $HOSTNAME/bird-bgpd/routes-$neighbour interval=$INTERVAL N:$nbroutes" |
|
| 62 | - done |
|
| 63 | - # FIXME: we probably count non-BGP routes here |
|
| 64 | - totalroutes=$(birdc "show route primary count" | grep -v 'BIRD' | cut -d ' ' -f 1) |
|
| 65 | - echo "PUTVAL $HOSTNAME/bird-bgpd/routes-all interval=$INTERVAL N:$totalroutes" |
|
| 66 | - sleep $INTERVAL |
|
| 67 | -done |
|
| 68 | -``` |
|
| 69 | - |
|
| 70 | -### munin plugin |
|
| 71 | -* add the following to /etc/munin/plugin-conf.d/munin-node |
|
| 72 | - |
|
| 73 | -``` |
|
| 74 | -[quagga_bgp] |
|
| 75 | -user root |
|
| 76 | -``` |
|
| 77 | - |
|
| 78 | -* place the script as quagga_bgp in /etc/munin/plugins |
|
| 79 | - |
|
| 80 | -```sh |
|
| 81 | -#!/bin/sh |
|
| 82 | -# |
|
| 83 | -# |
|
| 84 | -# Munin Plugin to show quagga bgp4 routes |
|
| 85 | - |
|
| 86 | -# Standard Config Section Begin ## |
|
| 87 | - if [ "$1" = "autoconf" ]; then |
|
| 88 | - echo yes |
|
| 89 | - exit 0 |
|
| 90 | - fi |
|
| 91 | - |
|
| 92 | - if [ "$1" = "config" ]; then |
|
| 93 | - |
|
| 94 | - echo 'graph_title Quagga BGP4 Routes' |
|
| 95 | - echo 'graph_args --base 1000 -l 0' |
|
| 96 | - echo 'graph_scale yes' |
|
| 97 | - echo 'graph_vlabel Received routes via BGP4' |
|
| 98 | - echo 'graph_category Network' |
|
| 99 | - echo 'bgproutes.label Routes' |
|
| 100 | - echo 'graph_info Route information provided by quagga daemon via vtysh' |
|
| 101 | - exit 0 |
|
| 102 | - fi |
|
| 103 | -# Standard Config Section End #### |
|
| 104 | - |
|
| 105 | -# Measure Section Begin ########## |
|
| 106 | - data=($(vtysh -c "show ip bgp"|grep Total|cut -d" " -f5)) |
|
| 107 | - |
|
| 108 | - if [ "$data" = "" ]; then |
|
| 109 | - echo bgproutes.value 0 |
|
| 110 | - else |
|
| 111 | - echo bgproutes.value $data |
|
| 112 | - fi |
|
| 113 | -# Measure Section ########## |
|
| 114 | -``` |
|
| 115 | -* restart munin-node |
services/Tahoe-LAFS.md
| ... | ... | @@ -1,33 +0,0 @@ |
| 1 | -# Tahoe LAFS |
|
| 2 | - |
|
| 3 | -## The idea |
|
| 4 | -Tahoe-LAFS provides a distributed, reliable and crypted file system. |
|
| 5 | - |
|
| 6 | -## How? |
|
| 7 | -Some people run Tahoe-LAFS nodes, providing space. With clients files can be published and received to the cloud. Everything will be encrypted on client side and keep redundant in the cloud. |
|
| 8 | - |
|
| 9 | -## Benefit |
|
| 10 | -Default you need only 3 of 10 parts of a file to reconstruct it. So a downtime of a tahoe node doesn't means data loss. |
|
| 11 | - |
|
| 12 | -Because of the encryption an owner of a node don't know anything about the stored content. |
|
| 13 | - |
|
| 14 | -## Usage |
|
| 15 | -To provide storage to the cloud you have to run a node. |
|
| 16 | - |
|
| 17 | -## Install and configuration |
|
| 18 | -To run a node you have to install tahoe-lafs at least in version 1.10.2. You can get source code from <https://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-1.10.2.zip>, if the version of the package in the distribution not at least 1.10. Then you have to extract it and install with `python2 setup.py build && sudo python2 setup.py install`. |
|
| 19 | - |
|
| 20 | -Before the first start you have to create a node with `bin/tahoe create-node` or a client (doesn't provide storage) with `bin/tahoe create-client`. This will create the folder .tahoe in your home dir. In the file .tahoe/tahoe.cfg you have to enter on `introducer.furl` the link to our introducer node (UPDATED): |
|
| 21 | - |
|
| 22 | -``` |
|
| 23 | -introducer.furl = pb://[email protected]:44412/kmvmrcforeeet7isgq7ftuymywqp3obb |
|
| 24 | -helper.furl = pb://[email protected]:44412/iiiopiclr2gszw2fmckbx3eob6krxk7x |
|
| 25 | -``` |
|
| 26 | - |
|
| 27 | -With `bin/tahoe start` you start your local node. |
|
| 28 | - |
|
| 29 | -## Client |
|
| 30 | -You can reach the local node via web browser at [http://localhost:3456](http://localhost:3456). |
|
| 31 | - |
|
| 32 | -## Further informations |
|
| 33 | -Look at <https://tahoe-lafs.org> for further information. |
services/Virtual-Machines.md
| ... | ... | @@ -1,22 +0,0 @@ |
| 1 | -# Virtual Machines |
|
| 2 | - |
|
| 3 | -Previously, some DN42 users had provided VMs to the community, but it is not known if any of these are currently active any more. The list of old providers is below the break. |
|
| 4 | - |
|
| 5 | -## burble.dn42 |
|
| 6 | - |
|
| 7 | -If you have a DN42 project but do not have the resources to host it yourself, the burble.dn42 network may be able to provide hosting for you. Contact burble on IRC or via email to discuss. |
|
| 8 | - |
|
| 9 | -## LGP Corp |
|
| 10 | -LGP Corp will make available virtual machines at IXP frnte for all interested parties. The administrator can be contacted at toinux in IRC. |
|
| 11 | - |
|
| 12 | ---- |
|
| 13 | - |
|
| 14 | -### Old Providers: |
|
| 15 | - |
|
| 16 | -| Person | RAM | HDD | Net | CPU | Description | No. Available |
|
| 17 | -|:------------- |:------ |:--------- |:---------- |:---------- |:-------------------------- |:--------------------------| |
|
| 18 | -| RyanH | 384 MB | 5 GB | dn42 only | 1x 2.4Ghz | LXC in Manchester |12| |
|
| 19 | -| florianb | 384 MB | 5 GB | dn42 only | 1x 2.2Ghz | OpenVZ in Germany, good peers | always enough |
|
| 20 | -| nellicus | 384 MB | 5 - 10 GB | dn42 only | 1x 2.6Ghz | Xen/KVM Washington, DC USA | 0 |
|
| 21 | -|Basil | 256 MB | 20 GB | dn42, NAT v4, /64 v6 | 1x 3.4Ghz | KVM, Gravelines, France | Always enough |
|
| 22 | -| KaiRaphixx (AS4242422506) | 512 MB - 4096 MB | 20 GB SSD / 50 GB HDD | dn42, NAT v4 (only Internet-Connection, No Port-Forwarding) | 1x - 2x 3.5 Ghz | KVM, Falkenstein, Germany | Always enough |
services/Whois.md
| ... | ... | @@ -59,45 +59,11 @@ The service is provided by [dn42regsrv](https://git.burble.com/burble.dn42/dn42r |
| 59 | 59 | |
| 60 | 60 | See the page on [Registry Authentication](/howto/Registry-Authentication) |
| 61 | 61 | |
| 62 | -# DNS interface |
|
| 63 | - |
|
| 64 | -There is also a DNS-based interface to query AS information from the registry. The DNS zone is `asn.dn42`. |
|
| 65 | -Mirrors are hosted at `asn.grmml.dn42` and `asn.lorkep.dn42`. |
|
| 66 | - |
|
| 67 | -Example: |
|
| 68 | - |
|
| 69 | -```sh |
|
| 70 | -$ dig +short AS4242420000.asn.dn42 TXT |
|
| 71 | -"4242420000 | DN42 | dn42 | | PYROPETER-AS PyroPeters AS" |
|
| 72 | -``` |
|
| 73 | - |
|
| 74 | -The Python code for generating the zone from the registry is available on the monotone repository. |
|
| 75 | - |
|
| 76 | -An alternative version to query the registry is it `ip.catgirls.dn42` (IPv6 only) (Source code <https://git.catgirls.systems/famfo/ipinfo>). Note: if there is no `route`/`route6` object for the `inetnum`/`inet6num`, the ip address will not be found. |
|
| 77 | - |
|
| 78 | -This can be used together with `mtr` using the `--ipinfo_provider4` and `--ipinfo_provider6` flags (mtr has to be built from source for that, there hasn't been a release in a while). |
|
| 79 | - |
|
| 80 | -Example: |
|
| 81 | -```sh |
|
| 82 | -$ dig +short TXT as4242421411.ip.catgirls.dn42 |
|
| 83 | -"4242421411 | C4TG1RL5-MNT | 172.20.0.81/32 | 172.23.196.32/27 | 172.20.0.80/32 | fd42:d42:d42:2080::/64 | fd42:deca:fbad::/48 | fd42:d42:d42:81::/64" |
|
| 84 | -$ dig +short TXT 32.196.23.172.ip.catgirls.dn42 |
|
| 85 | -"4242421411 | C4TG1RL5-MNT | 172.20.0.81/32 | 172.23.196.32/27 | 172.20.0.80/32 | fd42:d42:d42:2080::/64 | fd42:deca:fbad::/48 | fd42:d42:d42:81::/64" |
|
| 86 | -$ dig +short TXT 1.d.a.b.f.a.c.e.d.2.4.d.f.ip.catgirls.dn42 |
|
| 87 | -"4242421411 | C4TG1RL5-MNT | 172.20.0.81/32 | 172.23.196.32/27 | 172.20.0.80/32 | fd42:d42:d42:2080::/64 | fd42:deca:fbad::/48 | fd42:d42:d42:81::/64" |
|
| 88 | -``` |
|
| 89 | - |
|
| 90 | -The idea comes from the guys at cymru.com, who provide this service for the Internet (e.g. `AS1.asn.cymru.com`), see <https://www.team-cymru.org/Services/ip-to-asn.html#dns> |
|
| 91 | - |
|
| 92 | -# Software |
|
| 93 | - |
|
| 94 | - * [lglass](/howto/lglass) is a python implementation for working with the registry. It features a whois server, tools to manipulate the data (DNS zone generation, etc). |
|
| 95 | - * [whois42d](https://git.dn42.dev/registry/whois42d) written in golang, lightweight/fast, whois server with support for all registry objects, type filtering and systemd socket activation. |
|
| 96 | - * [who42rs](https://git.dn42.dev/C4TG1RL5/who42rs) a reimplementation of whois42d written in Rust |
|
| 97 | - |
|
| 98 | 62 | # Whois daemons |
| 99 | 63 | |
| 100 | -We have anycast IPv4 and IPv6, both reachable under whois.dn42. IPs are 172.22.0.43 respective fd42:d42:d42:43::1. Please consider joining these anycast adresses when you set up your server. Updates every 1 hour would be nice for a start. |
|
| 64 | +**We have anycast IPv4 and IPv6, both reachable under whois.dn42. IPs are 172.22.0.43 respective fd42:d42:d42:43::1.** |
|
| 65 | + |
|
| 66 | +Please consider joining these anycast adresses when you set up your server. Updates every 1 hour would be nice for a start. |
|
| 101 | 67 | |
| 102 | 68 | | **person** | **dns** | **ip** | |
| 103 | 69 | |-------------|---------------------------|-----------------| |
| ... | ... | @@ -111,7 +77,7 @@ We have anycast IPv4 and IPv6, both reachable under whois.dn42. IPs are 172.22.0 |
| 111 | 77 | | Bandura | whois.bandura.dn42 | 172.22.149.225 / fd04:234e:fc31::1 (may change in the future) | |
| 112 | 78 | | SUNNET | whois.sun.dn42 | 172.21.100.134 / fdc8:dc88:ee11:128::134 | |
| 113 | 79 | |
| 114 | -## Down? |
|
| 80 | +## Down |
|
| 115 | 81 | |
| 116 | 82 | | **person** | **dns** | **ip** | |
| 117 | 83 | |------------|---------------------------|-----------------| |
| ... | ... | @@ -158,6 +124,29 @@ sudo gem install netaddr |
| 158 | 124 | cd whoisd/ruby |
| 159 | 125 | sudo ruby whoisd.rb nobody |
| 160 | 126 | ``` |
| 161 | -## Whois restful API |
|
| 162 | -Note: this service is in beta testing, use at your own risk. |
|
| 163 | -<https://whois.rest.dn42/> |
|
| 127 | + |
|
| 128 | +# DNS interface |
|
| 129 | + |
|
| 130 | +There is also a DNS-based interface to query AS information from the registry. |
|
| 131 | +It is `ip.catgirls.dn42` (IPv6 only) (Source code <https://git.catgirls.systems/famfo/ipinfo>). Note: if there is no `route`/`route6` object for the `inetnum`/`inet6num`, the ip address will not be found. |
|
| 132 | + |
|
| 133 | +This can be used together with `mtr` using the `--ipinfo_provider4` and `--ipinfo_provider6` flags (mtr has to be built from source for that, there hasn't been a release in a while). |
|
| 134 | + |
|
| 135 | +Example: |
|
| 136 | +```sh |
|
| 137 | +$ dig +short TXT as4242421411.ip.catgirls.dn42 |
|
| 138 | +"4242421411 | C4TG1RL5-MNT | 172.20.0.81/32 | 172.23.196.32/27 | 172.20.0.80/32 | fd42:d42:d42:2080::/64 | fd42:deca:fbad::/48 | fd42:d42:d42:81::/64" |
|
| 139 | +$ dig +short TXT 32.196.23.172.ip.catgirls.dn42 |
|
| 140 | +"4242421411 | C4TG1RL5-MNT | 172.20.0.81/32 | 172.23.196.32/27 | 172.20.0.80/32 | fd42:d42:d42:2080::/64 | fd42:deca:fbad::/48 | fd42:d42:d42:81::/64" |
|
| 141 | +$ dig +short TXT 1.d.a.b.f.a.c.e.d.2.4.d.f.ip.catgirls.dn42 |
|
| 142 | +"4242421411 | C4TG1RL5-MNT | 172.20.0.81/32 | 172.23.196.32/27 | 172.20.0.80/32 | fd42:d42:d42:2080::/64 | fd42:deca:fbad::/48 | fd42:d42:d42:81::/64" |
|
| 143 | +``` |
|
| 144 | + |
|
| 145 | +The idea comes from the guys at cymru.com, who provide this service for the Internet (e.g. `AS1.asn.cymru.com`), see <https://www.team-cymru.org/Services/ip-to-asn.html#dns> |
|
| 146 | + |
|
| 147 | +# Software |
|
| 148 | + |
|
| 149 | + * [lglass](/howto/lglass) is a python implementation for working with the registry. It features a whois server, tools to manipulate the data (DNS zone generation, etc). |
|
| 150 | + * [whois42d](https://git.dn42.dev/registry/whois42d) written in golang, lightweight/fast, whois server with support for all registry objects, type filtering and systemd socket activation. |
|
| 151 | + * [who42rs](https://git.dn42.dev/C4TG1RL5/who42rs) a reimplementation of whois42d written in Rust |
|
| 152 | + |
services/ca/Automatic-CA.md
| ... | ... | @@ -0,0 +1,234 @@ |
| 1 | +DN42 Self-Serve CA |
|
| 2 | +================== |
|
| 3 | + |
|
| 4 | +This client is used for automating the process of requesting TLS certificates. (Available via: [dn42](https://ca.dn42/ca-client), [iana](https://ca.dn42.us/ca-client), [git]([email protected]:dn42/ca-client)) |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## VALIDATION PROCESS |
|
| 8 | + |
|
| 9 | +The process validates ownership by verifying control of both a users MNT object in the registry and the authoritative DNS server. |
|
| 10 | +The following steps take place in creating a signed certificate. |
|
| 11 | + |
|
| 12 | +*User Flow* |
|
| 13 | + |
|
| 14 | +1. User generates a 2048+ bit rsa key and CSR for their MNT object. |
|
| 15 | +2. User generates a sha256 hash of the rsa public key (commonly known as a [public keypin][keypin]) and adds it as a remark in their MNT |
|
| 16 | +3. User submits the csr to the CA to validate and sign. |
|
| 17 | +4. CA checks for the keypin in their MNT object (if it does not find it in the local copy of the [monotone repo][ca-mtn] it will check against io.nixnodes.dn42) |
|
| 18 | +5. (optional) CA revokes prior certificate as superseded. |
|
| 19 | +6. CA signs and returns the user certificate. |
|
| 20 | + |
|
| 21 | +*Server Flow* |
|
| 22 | + |
|
| 23 | +1. User generates a 2048+ bit rsa key and CSR for the dns CN. Also including any SAN domains. |
|
| 24 | +2. User generates a sha256 hash of the rsa public key (commonly known as a [public keypin][keypin]) and adds it as a txt record in their DNS. |
|
| 25 | +3. User uses the user certificate to authenticate and submits the csr to the CA to validate and sign. |
|
| 26 | +4. CA checks for the user keypin in their MNT object (if it does not find it in the local copy of the [monotone repo][ca-mtn] it will check against io.nixnodes.dn42) |
|
| 27 | +5. CA checks the dns records for the CN and each SAN for the tls keypin. |
|
| 28 | +6. (optional) CA revokes prior certificate as superseded. |
|
| 29 | +7. CA signs and returns the tls certificate. |
|
| 30 | + |
|
| 31 | +*User Renewals* |
|
| 32 | + |
|
| 33 | +User certificates are signed for 180 days. To renew follow the steps above starting from number 3. |
|
| 34 | + |
|
| 35 | +*Server renewals* |
|
| 36 | + |
|
| 37 | +Server certificates are signed for 45 days. To renew follow the steps above starting from number 3. |
|
| 38 | + |
|
| 39 | +[keypin]: <https://developer.mozilla.org/en-US/docs/Web/Security/Public_Key_Pinning> |
|
| 40 | +[ca-mtn]: <https://ca.dn42/reg/mntner/> |
|
| 41 | + |
|
| 42 | +*Certificate Revocations* |
|
| 43 | + |
|
| 44 | +1. User uses the user certificate to authenticate and submits the serial and revoke reason to CA. |
|
| 45 | +2. CA checks user keypin in their MNT object (if it does not find it in the local copy of the [monotone repo][ca-mtn] it will check against io.nixnodes.dn42) |
|
| 46 | +3. CA checks that owner in certificate matches. |
|
| 47 | +4. CA revokes certificate and updates revocation list. |
|
| 48 | + |
|
| 49 | +## INSTALL |
|
| 50 | + |
|
| 51 | +get the script here: |
|
| 52 | + |
|
| 53 | +```sh |
|
| 54 | +curl https://ca.dn42/ca.dn42 > ca.dn42; chmod +x ca.dn42 |
|
| 55 | +``` |
|
| 56 | + |
|
| 57 | +available via git: [email protected]:dn42/ca-client |
|
| 58 | + |
|
| 59 | + |
|
| 60 | +## KNOWN ISSUES |
|
| 61 | + |
|
| 62 | +### openssl prior to 1.0.2 returns "SSL certificate problem: permitted subtree violation" |
|
| 63 | + |
|
| 64 | +The way openssl validated name constraints prevented it from accepting dns names that started with a dot. |
|
| 65 | +Because the name constraint is "DNS:.dn42" it fails to validate. |
|
| 66 | + |
|
| 67 | +[Read more on this mailing list thread][libssl-1] |
|
| 68 | + |
|
| 69 | + |
|
| 70 | +[libssl-1]: <https://groups.google.com/forum/#!topic/mailing.openssl.dev/drG3U-S4iaE> |
|
| 71 | + |
|
| 72 | + |
|
| 73 | +### X.509 nameConstraints on certificates not supported on OS X |
|
| 74 | + |
|
| 75 | +Browsers and clients that rely on Apple's [Secure Transport][osx-1] library does not support X.509's nameConstraints. |
|
| 76 | + |
|
| 77 | +Read more on this [stack exchange post][osx-2] |
|
| 78 | + |
|
| 79 | + |
|
| 80 | +[osx-1]: <https://developer.apple.com/library/mac/documentation/Security/Reference/secureTransportRef/> |
|
| 81 | +[osx-2]: <http://security.stackexchange.com/a/97133> |
|
| 82 | + |
|
| 83 | + |
|
| 84 | +## How to Run |
|
| 85 | + |
|
| 86 | +``` |
|
| 87 | +Usage: # OWNER is your MNT handle. |
|
| 88 | + ./ca.dn42 user-gen OWNER EMAIL # Output to OWNER.csr and OWNER.key |
|
| 89 | + ./ca.dn42 user-sig OWNER # Output to OWNER.crt and OWNER.p12 |
|
| 90 | + ./ca.dn42 tls-gen DNS OWNER EMAIL [SAN] # Output to OWNER_DNS.csr and OWNER.key |
|
| 91 | + ./ca.dn42 tls-sig DNS OWNER # Output to OWNER_DNS.crt and OWNER_DNS.p12 |
|
| 92 | + ./ca.dn42 revoke OWNER CERTFILE [REASON] |
|
| 93 | + |
|
| 94 | + |
|
| 95 | +Revoke Reasons: unspecified, keyCompromise, affiliationChanged, |
|
| 96 | + superseded, cessationOfOperation, certificateHold, removeFromCRL |
|
| 97 | + |
|
| 98 | +Environtment Options: |
|
| 99 | + DN42CA_PKCS12 = 1 # Generate pkcs12 file for certificate. |
|
| 100 | +``` |
|
| 101 | + |
|
| 102 | +## Example |
|
| 103 | + |
|
| 104 | +Generate the user key |
|
| 105 | + |
|
| 106 | +```sh |
|
| 107 | +$ ./ca.dn42 user-gen XUU-MNT [email protected] |
|
| 108 | +Generating a 2048 bit RSA private key |
|
| 109 | +...............................+++ |
|
| 110 | +.........................+++ |
|
| 111 | +writing new private key to 'XUU-MNT.key' |
|
| 112 | +----- |
|
| 113 | += |
|
| 114 | += You need to have this pin added to your mnt object before proceeding to the next step. |
|
| 115 | += |
|
| 116 | +|MNT Key Pin| remarks: pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 117 | +``` |
|
| 118 | + |
|
| 119 | +### Sign the user key |
|
| 120 | + |
|
| 121 | +```sh |
|
| 122 | +$ ./ca.dn42 user-sign XUU-MNT [email protected] |
|
| 123 | +== USER CERT == |
|
| 124 | + C:XD |
|
| 125 | + O:dn42 |
|
| 126 | + OU:dn42 Certificate Authority |
|
| 127 | + CN:XUU-MNT |
|
| 128 | + emailAddress:[email protected] |
|
| 129 | + owner:XUU-MNT |
|
| 130 | + pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 131 | +OK https://ca.dn42/crt/XUU-MNT.crt |
|
| 132 | +Enter Export Password: |
|
| 133 | +Verifying - Enter Export Password: |
|
| 134 | +``` |
|
| 135 | + |
|
| 136 | +### Generate the server key |
|
| 137 | + |
|
| 138 | +```sh |
|
| 139 | +$ ./ca.dn42 tls-gen ca.dn42 XUU-MNT [email protected] DNS:ca.dn42 |
|
| 140 | + |
|
| 141 | +Generating a 2048 bit RSA private key |
|
| 142 | +...........................................+++ |
|
| 143 | +.......................+++ |
|
| 144 | +writing new private key to 'XUU-MNT_ca.dn42.key' |
|
| 145 | +----- |
|
| 146 | +writing RSA key |
|
| 147 | += |
|
| 148 | += |DNS Key Pin| You need to have this pin added to your dns records before proceeding to the next step. |
|
| 149 | += |
|
| 150 | +_dn42_tlsverify.ca.dn42. IN TXT XUU-MNT:pin-sha256:Qu/X5GNqOo05TdL7oexkamE34OUuDE60T+f0xc60UPQ= |
|
| 151 | +``` |
|
| 152 | + |
|
| 153 | +After you set this TXT-Record for your domain, you can verify it with the following command (by replacing the domain with your own): |
|
| 154 | + |
|
| 155 | +```sh |
|
| 156 | +$ dig +short TXT _dn42_tlsverify.ca.dn42. |
|
| 157 | +"XUU-MNT:pin-sha256:Qu/X5GNqOo05TdL7oexkamE34OUuDE60T+f0xc60UPQ=" |
|
| 158 | +``` |
|
| 159 | + |
|
| 160 | +### Sign the server key |
|
| 161 | + |
|
| 162 | +```sh |
|
| 163 | +$ ./ca.dn42 tls-sign ca.dn42 XUU-MNT |
|
| 164 | +== USER CERT == |
|
| 165 | + C:XD |
|
| 166 | + O:dn42 |
|
| 167 | + OU:dn42 Certificate Authority |
|
| 168 | + CN:XUU-MNT |
|
| 169 | + emailAddress:[email protected] |
|
| 170 | + owner:XUU-MNT |
|
| 171 | + pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 172 | +== DNS CSR == |
|
| 173 | + C:XD |
|
| 174 | + O:dn42 |
|
| 175 | + OU:dn42 Certificate Authority |
|
| 176 | + CN:ca.dn42 |
|
| 177 | + emailAddress:[email protected] |
|
| 178 | + owner:XUU-MNT |
|
| 179 | + pin-sha256:Qu/X5GNqOo05TdL7oexkamE34OUuDE60T+f0xc60UPQ= |
|
| 180 | +== DNS Tests == |
|
| 181 | + CN Record: ca.dn42 PASSED |
|
| 182 | + SAN Record: ca.dn42 PASSED |
|
| 183 | +OK https://ca.dn42/crt/XUU-MNT_ca.dn42.crt |
|
| 184 | +Enter Export Password: **** |
|
| 185 | +Verifying - Enter Export Password: **** |
|
| 186 | +``` |
|
| 187 | + |
|
| 188 | +The generated certificate will be valid for 3 months, to renew it simply run ```./ca.dn42 tls-sign ca.dn42 XUU-MNT``` again. This could be also automated in cron: |
|
| 189 | + |
|
| 190 | +```sh |
|
| 191 | +0 0 1 * * /etc/ssl/dn42/ca.dn42 tls-sign wiki.dn42 MIC92-MNT |
|
| 192 | +``` |
|
| 193 | + |
|
| 194 | +or with a systemd timer: |
|
| 195 | + |
|
| 196 | +```conf |
|
| 197 | +# update-dn42-ca.timer |
|
| 198 | +[Timer] |
|
| 199 | +OnBootSec=1h |
|
| 200 | +OnUnitActiveSec=1w |
|
| 201 | +Persistent=yes |
|
| 202 | + |
|
| 203 | +[Install] |
|
| 204 | +WantedBy=timers.target |
|
| 205 | +``` |
|
| 206 | + |
|
| 207 | +```conf |
|
| 208 | +[Service] |
|
| 209 | +Type=oneshot |
|
| 210 | +WorkingDirectory=/etc/ssl/dn42 |
|
| 211 | +ExecStart=/etc/ssl/dn42/ca.dn42 tls-sign wiki.dn42 MIC92-MNT |
|
| 212 | +# accept multiple ExecStart lines for other certificates |
|
| 213 | +# ExecStart=/etc/ssl/dn42/ca.dn42 tls-sign foobar.dn42 MIC92-MNT |
|
| 214 | +ExecStart=/usr/bin/nginx -s reload |
|
| 215 | +``` |
|
| 216 | + |
|
| 217 | +### Revoke a certificate. |
|
| 218 | + |
|
| 219 | +```sh |
|
| 220 | +$ ./ca.dn42 revoke XUU-MNT XUU-MNT.crt |
|
| 221 | +== USER CERT == |
|
| 222 | + C:XD |
|
| 223 | + O:dn42 |
|
| 224 | + OU:dn42 Certificate Authority |
|
| 225 | + CN:XUU-MNT |
|
| 226 | + emailAddress:[email protected] |
|
| 227 | + owner:XUU-MNT |
|
| 228 | + pin-sha256:HdqCid0sedWXX3Q0uG98rYjJyTNOzaT13WfWpr1GvIw= |
|
| 229 | +== REVOKE CERT == |
|
| 230 | +OK |
|
| 231 | +``` |
|
| 232 | + |
|
| 233 | +### Certificate transparency |
|
| 234 | +All issued certificates will be logged to [xuu's mattermost instance](https://teams.dn42/dn42/channels/tls-certificates). |
services/ca/Certificate-Authority.md
| ... | ... | @@ -0,0 +1,189 @@ |
| 1 | +# SSL Certificate Authority |
|
| 2 | + |
|
| 3 | +internal.dn42 is signed by an internally maintained CA that is only allowed to sign *.dn42 domains. The CA is maintained by [email protected]. |
|
| 4 | + |
|
| 5 | +If you are required to specify a license to clarify redistribution, then it [can be considered](https://groups.io/g/dn42/message/844) as [CC0](https://creativecommons.org/public-domain/cc0/). |
|
| 6 | + |
|
| 7 | +The CA certificate ([dn42](https://ca.dn42/crt/root-ca.crt), [iana](https://ca.dn42.us/crt/root-ca.crt)): |
|
| 8 | + |
|
| 9 | +``` |
|
| 10 | +Certificate: |
|
| 11 | + Data: |
|
| 12 | + Version: 3 (0x2) |
|
| 13 | + Serial Number: 137808117760 (0x2016010000) |
|
| 14 | + Signature Algorithm: sha256WithRSAEncryption |
|
| 15 | + Issuer: C=XD, O=dn42, OU=dn42 Certificate Authority, CN=dn42 Root Authority CA |
|
| 16 | + Validity |
|
| 17 | + Not Before: Jan 16 00:12:04 2016 GMT |
|
| 18 | + Not After : Dec 31 23:59:59 2030 GMT |
|
| 19 | + Subject: C=XD, O=dn42, OU=dn42 Certificate Authority, CN=dn42 Root Authority CA |
|
| 20 | + Subject Public Key Info: |
|
| 21 | + Public Key Algorithm: rsaEncryption |
|
| 22 | + Public-Key: (2048 bit) |
|
| 23 | + Modulus: |
|
| 24 | + 00:c1:19:10:de:01:86:11:f1:82:0c:b0:d4:e5:ff: |
|
| 25 | + 9a:c8:e3:aa:f4:00:08:82:c0:cf:7f:05:7a:21:97: |
|
| 26 | + c1:b5:8b:a3:d1:54:ee:fa:04:0f:77:d5:5c:98:4b: |
|
| 27 | + d9:88:18:c1:17:10:92:e5:24:fa:ef:61:eb:5d:7b: |
|
| 28 | + 11:e5:be:ba:89:f2:60:c9:3b:82:05:3a:74:54:60: |
|
| 29 | + 23:66:1a:d8:cd:28:7b:f1:ea:55:25:9a:8c:04:a0: |
|
| 30 | + ff:9d:48:54:4c:9d:bc:2d:a0:df:71:ae:64:47:0d: |
|
| 31 | + e7:75:05:f4:c5:02:2a:d2:0c:be:a3:63:54:62:2b: |
|
| 32 | + ad:29:eb:6a:08:a4:5e:a8:eb:f1:52:14:4e:d1:5d: |
|
| 33 | + 41:2f:d3:19:ba:e4:82:36:7a:d1:a3:f2:84:f6:07: |
|
| 34 | + b2:f6:0c:30:db:db:76:ee:e9:14:05:c7:8f:75:b7: |
|
| 35 | + 3f:d5:d5:35:56:d0:92:44:df:26:1e:00:fa:ae:cb: |
|
| 36 | + 7a:c9:50:67:5d:69:f8:f9:fd:25:a7:1d:db:40:b1: |
|
| 37 | + 42:bc:45:57:e1:c9:1c:42:ba:69:80:1e:ea:25:99: |
|
| 38 | + 12:9f:6f:23:a3:d2:2e:4a:cd:15:e4:7c:49:f9:d1: |
|
| 39 | + c0:f0:19:0c:15:50:ce:a6:51:bb:aa:16:b2:82:ec: |
|
| 40 | + f4:61:44:8c:1c:dd:65:60:04:77:b0:4d:99:67:17: |
|
| 41 | + fb:09 |
|
| 42 | + Exponent: 65537 (0x10001) |
|
| 43 | + X509v3 extensions: |
|
| 44 | + X509v3 Key Usage: critical |
|
| 45 | + Certificate Sign, CRL Sign |
|
| 46 | + X509v3 Basic Constraints: critical |
|
| 47 | + CA:TRUE |
|
| 48 | + X509v3 Subject Key Identifier: |
|
| 49 | + 54:76:88:B2:C0:B5:30:D0:FC:4F:C9:6D:3B:F9:8C:55:11:AC:15:15 |
|
| 50 | + X509v3 Authority Key Identifier: |
|
| 51 | + keyid:54:76:88:B2:C0:B5:30:D0:FC:4F:C9:6D:3B:F9:8C:55:11:AC:15:15 |
|
| 52 | + |
|
| 53 | + X509v3 Name Constraints: |
|
| 54 | + Permitted: |
|
| 55 | + DNS:.dn42 |
|
| 56 | + IP:172.20.0.0/255.252.0.0 |
|
| 57 | + IP:FD42:0:0:0:0:0:0:0/FFFF:0:0:0:0:0:0:0 |
|
| 58 | + |
|
| 59 | + Signature Algorithm: sha256WithRSAEncryption |
|
| 60 | + 5c:a4:3b:41:a0:81:69:e2:71:99:4d:75:4b:5a:20:0d:2a:d9: |
|
| 61 | + ec:ea:bc:8d:4f:b0:6c:f3:2e:41:1a:a0:75:f3:de:7e:3a:e0: |
|
| 62 | + a7:b9:db:cd:f5:16:e4:6a:cb:e7:cc:2a:8f:ee:7f:14:0a:a5: |
|
| 63 | + b5:f9:66:48:81:e5:68:1e:0c:a6:a3:3c:a7:2b:e3:95:cf:e3: |
|
| 64 | + 63:15:0d:16:09:63:d9:66:31:3b:42:2e:7c:1a:e5:28:8e:5e: |
|
| 65 | + 3d:9e:28:99:48:e9:47:86:11:e2:04:29:60:2b:96:95:99:ae: |
|
| 66 | + 3f:ab:ff:3f:45:ab:7e:07:45:4e:4d:0b:18:40:3d:3b:02:9c: |
|
| 67 | + 4e:a9:0f:a5:c2:3f:4a:30:77:ae:66:5c:b3:8d:b2:41:6b:e2: |
|
| 68 | + 98:01:7d:e0:6b:52:70:4d:3d:b8:a9:48:f5:02:d2:d9:40:66: |
|
| 69 | + b6:5e:44:25:11:55:ac:31:02:d7:67:72:6a:6a:bc:74:34:5f: |
|
| 70 | + 75:dc:9a:4f:83:28:40:e0:2a:dc:3f:41:43:5a:47:07:2b:b7: |
|
| 71 | + a7:3f:d0:15:a2:42:d7:30:22:f2:f6:e4:b4:f6:3b:38:ca:6b: |
|
| 72 | + 4c:e7:3c:a4:70:cb:de:af:0a:14:ff:23:25:ca:04:cd:9e:49: |
|
| 73 | + c3:4b:e4:0a:b5:0b:84:b5:ef:b4:5b:63:07:47:63:cd:5c:50: |
|
| 74 | + 0b:42:0a:a9 |
|
| 75 | +-----BEGIN CERTIFICATE----- |
|
| 76 | +MIID8DCCAtigAwIBAgIFIBYBAAAwDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMC |
|
| 77 | +WEQxDTALBgNVBAoMBGRuNDIxIzAhBgNVBAsMGmRuNDIgQ2VydGlmaWNhdGUgQXV0 |
|
| 78 | +aG9yaXR5MR8wHQYDVQQDDBZkbjQyIFJvb3QgQXV0aG9yaXR5IENBMCAXDTE2MDEx |
|
| 79 | +NjAwMTIwNFoYDzIwMzAxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJYRDENMAsGA1UE |
|
| 80 | +CgwEZG40MjEjMCEGA1UECwwaZG40MiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAd |
|
| 81 | +BgNVBAMMFmRuNDIgUm9vdCBBdXRob3JpdHkgQ0EwggEiMA0GCSqGSIb3DQEBAQUA |
|
| 82 | +A4IBDwAwggEKAoIBAQDBGRDeAYYR8YIMsNTl/5rI46r0AAiCwM9/BXohl8G1i6PR |
|
| 83 | +VO76BA931VyYS9mIGMEXEJLlJPrvYetdexHlvrqJ8mDJO4IFOnRUYCNmGtjNKHvx |
|
| 84 | +6lUlmowEoP+dSFRMnbwtoN9xrmRHDed1BfTFAirSDL6jY1RiK60p62oIpF6o6/FS |
|
| 85 | +FE7RXUEv0xm65II2etGj8oT2B7L2DDDb23bu6RQFx491tz/V1TVW0JJE3yYeAPqu |
|
| 86 | +y3rJUGddafj5/SWnHdtAsUK8RVfhyRxCummAHuolmRKfbyOj0i5KzRXkfEn50cDw |
|
| 87 | +GQwVUM6mUbuqFrKC7PRhRIwc3WVgBHewTZlnF/sJAgMBAAGjgaowgacwDgYDVR0P |
|
| 88 | +AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFR2iLLAtTDQ/E/J |
|
| 89 | +bTv5jFURrBUVMB8GA1UdIwQYMBaAFFR2iLLAtTDQ/E/JbTv5jFURrBUVMEQGA1Ud |
|
| 90 | +HgQ9MDugOTAHggUuZG40MjAKhwisFAAA//wAADAihyD9QgAAAAAAAAAAAAAAAAAA |
|
| 91 | +//8AAAAAAAAAAAAAAAAAADANBgkqhkiG9w0BAQsFAAOCAQEAXKQ7QaCBaeJxmU11 |
|
| 92 | +S1ogDSrZ7Oq8jU+wbPMuQRqgdfPefjrgp7nbzfUW5GrL58wqj+5/FAqltflmSIHl |
|
| 93 | +aB4MpqM8pyvjlc/jYxUNFglj2WYxO0IufBrlKI5ePZ4omUjpR4YR4gQpYCuWlZmu |
|
| 94 | +P6v/P0WrfgdFTk0LGEA9OwKcTqkPpcI/SjB3rmZcs42yQWvimAF94GtScE09uKlI |
|
| 95 | +9QLS2UBmtl5EJRFVrDEC12dyamq8dDRfddyaT4MoQOAq3D9BQ1pHByu3pz/QFaJC |
|
| 96 | +1zAi8vbktPY7OMprTOc8pHDL3q8KFP8jJcoEzZ5Jw0vkCrULhLXvtFtjB0djzVxQ |
|
| 97 | +C0IKqQ== |
|
| 98 | +-----END CERTIFICATE----- |
|
| 99 | +``` |
|
| 100 | + |
|
| 101 | + |
|
| 102 | +## Obtaining certificates |
|
| 103 | +* ca.dn42 [client process](/services/ca/Automatic-CA). |
|
| 104 | +* Burble maintains an [ACME server](https://burble.dn42/services/acme/) (with accompanying CA), compatible with any LetsEncrypt client like Certbot, Dehydrated or Caddy. |
|
| 105 | +* Kioubit maintains a [certificate authority](https://dn42.g-load.eu/about/certificate-authority/) with certificates obtainable via a simple script or completely [using only the browser](https://dn42.g-load.eu/about/certificate-authority/oneclick/). |
|
| 106 | + |
|
| 107 | +## Testing constraints |
|
| 108 | + |
|
| 109 | +The name constraints can be verified for example by using openssl: |
|
| 110 | +```sh |
|
| 111 | +openssl x509 -in dn42.crt -text -noout |
|
| 112 | +``` |
|
| 113 | +which will show among other things: |
|
| 114 | +``` |
|
| 115 | + X509v3 Name Constraints: |
|
| 116 | + Permitted: |
|
| 117 | + DNS:.dn42 |
|
| 118 | +``` |
|
| 119 | + |
|
| 120 | +## Importing the certificate |
|
| 121 | + |
|
| 122 | +- cacert have a comprehensive FAQ on how to import your own root certificates in [browsers](http://wiki.cacert.org/FAQ/BrowserClients) and [other software](http://wiki.cacert.org/FAQ/ImportRootCert) |
|
| 123 | + |
|
| 124 | +### Archlinux |
|
| 125 | + |
|
| 126 | +Install `ca-certificates-dn42` from [AUR](https://aur.archlinux.org/packages/ca-certificates-dn42/) |
|
| 127 | + |
|
| 128 | +### Debian/Ubuntu |
|
| 129 | + |
|
| 130 | +#### Unofficial Debian Package |
|
| 131 | + |
|
| 132 | +```bash |
|
| 133 | +wget https://ca.dn42.us/ca-dn42_20161122.0_all.deb |
|
| 134 | +# If you're on a dn42-only network: |
|
| 135 | +# wget --no-check-certificate https://ca.dn42/ca-dn42_20161122.0_all.deb |
|
| 136 | +sudo dpkg -i ca-dn42_20161122.0_all.deb |
|
| 137 | +sudo dpkg-reconfigure ca-certificates |
|
| 138 | +``` |
|
| 139 | + |
|
| 140 | +You will be asked which certificates you would like to enabled. By default, the dn42 root certifcate (dn42/root-ca.crt) is not enabled, be sure to enable it. This package is waiting for inclusion in Debian (Debian bug [#845351](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845351)). |
|
| 141 | + |
|
| 142 | +#### Manual Installation |
|
| 143 | + |
|
| 144 | +```bash |
|
| 145 | +$ mkdir /usr/share/ca-certificates/extra |
|
| 146 | +$ cat > /usr/share/ca-certificates/extra/dn42.crt <<EOF |
|
| 147 | +-----BEGIN CERTIFICATE----- |
|
| 148 | +MIID8DCCAtigAwIBAgIFIBYBAAAwDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMC |
|
| 149 | +WEQxDTALBgNVBAoMBGRuNDIxIzAhBgNVBAsMGmRuNDIgQ2VydGlmaWNhdGUgQXV0 |
|
| 150 | +aG9yaXR5MR8wHQYDVQQDDBZkbjQyIFJvb3QgQXV0aG9yaXR5IENBMCAXDTE2MDEx |
|
| 151 | +NjAwMTIwNFoYDzIwMzAxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJYRDENMAsGA1UE |
|
| 152 | +CgwEZG40MjEjMCEGA1UECwwaZG40MiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAd |
|
| 153 | +BgNVBAMMFmRuNDIgUm9vdCBBdXRob3JpdHkgQ0EwggEiMA0GCSqGSIb3DQEBAQUA |
|
| 154 | +A4IBDwAwggEKAoIBAQDBGRDeAYYR8YIMsNTl/5rI46r0AAiCwM9/BXohl8G1i6PR |
|
| 155 | +VO76BA931VyYS9mIGMEXEJLlJPrvYetdexHlvrqJ8mDJO4IFOnRUYCNmGtjNKHvx |
|
| 156 | +6lUlmowEoP+dSFRMnbwtoN9xrmRHDed1BfTFAirSDL6jY1RiK60p62oIpF6o6/FS |
|
| 157 | +FE7RXUEv0xm65II2etGj8oT2B7L2DDDb23bu6RQFx491tz/V1TVW0JJE3yYeAPqu |
|
| 158 | +y3rJUGddafj5/SWnHdtAsUK8RVfhyRxCummAHuolmRKfbyOj0i5KzRXkfEn50cDw |
|
| 159 | +GQwVUM6mUbuqFrKC7PRhRIwc3WVgBHewTZlnF/sJAgMBAAGjgaowgacwDgYDVR0P |
|
| 160 | +AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFR2iLLAtTDQ/E/J |
|
| 161 | +bTv5jFURrBUVMB8GA1UdIwQYMBaAFFR2iLLAtTDQ/E/JbTv5jFURrBUVMEQGA1Ud |
|
| 162 | +HgQ9MDugOTAHggUuZG40MjAKhwisFAAA//wAADAihyD9QgAAAAAAAAAAAAAAAAAA |
|
| 163 | +//8AAAAAAAAAAAAAAAAAADANBgkqhkiG9w0BAQsFAAOCAQEAXKQ7QaCBaeJxmU11 |
|
| 164 | +S1ogDSrZ7Oq8jU+wbPMuQRqgdfPefjrgp7nbzfUW5GrL58wqj+5/FAqltflmSIHl |
|
| 165 | +aB4MpqM8pyvjlc/jYxUNFglj2WYxO0IufBrlKI5ePZ4omUjpR4YR4gQpYCuWlZmu |
|
| 166 | +P6v/P0WrfgdFTk0LGEA9OwKcTqkPpcI/SjB3rmZcs42yQWvimAF94GtScE09uKlI |
|
| 167 | +9QLS2UBmtl5EJRFVrDEC12dyamq8dDRfddyaT4MoQOAq3D9BQ1pHByu3pz/QFaJC |
|
| 168 | +1zAi8vbktPY7OMprTOc8pHDL3q8KFP8jJcoEzZ5Jw0vkCrULhLXvtFtjB0djzVxQ |
|
| 169 | +C0IKqQ== |
|
| 170 | +-----END CERTIFICATE----- |
|
| 171 | +EOF |
|
| 172 | +$ echo "extra/dn42.crt" >> /etc/ca-certificates.conf |
|
| 173 | +$ update-ca-certificates |
|
| 174 | +``` |
|
| 175 | + |
|
| 176 | +### AlmaLinux/RockyLinux/Probably anything RHEL |
|
| 177 | + |
|
| 178 | +```bash |
|
| 179 | +$ /etc/pki/ca-trust/source/anchors/dn42.crt <<EOF |
|
| 180 | +-----BEGIN CERTIFICATE----- |
|
| 181 | +... |
|
| 182 | +-----END CERTIFICATE----- |
|
| 183 | +EOF |
|
| 184 | +$ update-ca-trust |
|
| 185 | +``` |
|
| 186 | + |
|
| 187 | +## PKI Store |
|
| 188 | + |
|
| 189 | +All issued keys and crl information are posted at: <https://ca.dn42/> |
services/dns/New-DNS.md
| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | +After frequent issues with the [Old Hierarchical DNS](/services/Old-Hierarchical-DNS) system in early 2018, work has started to build a new and more reliable DNS system. The main goals are: |
|
| 2 | +* Reliability and Consistency to avoid debugging very obscure issues that are also hard to reproduce. |
|
| 3 | +* Low maintenance burden on operators. |
|
| 4 | +* Proper DNSSEC support for everything. |
|
| 5 | + |
|
| 6 | +# End Users |
|
| 7 | +It is **strongly recommended** to run your own resolver for security and privacy reasons. Setting it up and maintaining it should be easy, see [services/dns/Configuration](/services/dns/Configuration). |
|
| 8 | + |
|
| 9 | +If running your own resolver is not possible or desirable, you can choose one or more instances from [dns/recursive-servers.dn42 in the registry](https://git.dn42.dev/dn42/registry/src/master/data/dns/recursive-servers.dn42). Please make sure you fully understand the consequences and fully trust these operators. |
|
| 10 | + |
|
| 11 | +You can also use the globally anycasted a.recursive-servers.dn42 but you won't have any control over which instance you get. This is a **very bad idea** from a security standpoint. |
|
| 12 | + |
|
| 13 | +# Instances |
|
| 14 | +The new DNS system has two different components: |
|
| 15 | +* *.recursive-servers.dn42 and local resolvers responsible for handling queries from clients, validating DNSSEC and directing the queries at clearnet/dn42/ICVPN. |
|
| 16 | +* *.delegation-servers.dn42 and *.master.delegation-servers.dn42 are a normal master-slave setup for providing the few official infrastructural zones. |
|
| 17 | + |
|
| 18 | +## *.recursive-servers.dn42 |
|
| 19 | +These are simple resolvers capable of resolving dn42 domains. Every operator gets a single letter name pointing to addresses assigned from their own address space and is strongly encouraged to use anycasting across multiple nodes to improve reliability. There is also the global anycast a.recursive-servers.dn42 which includes some/all other instances. Whether an *.recursive-servers.dn42 can resolve clearnet queries or not is decided by its operator but all a.recursive-servers.dn42 instances MUST resolve clearnet queries correctly. It is explicitly not supported to use clearnet nservers for dn42 zones and dn42 nservers for clearnet zones. |
|
| 20 | + |
|
| 21 | +## *.delegation-servers.dn42 |
|
| 22 | +These are simple authoritative servers for the dn42 zone, rDNS and a few DNS infrastructure zones. Every operator gets a single letter name pointing to addresses assigned from their own address space and is strongly encouraged to use anycasting across multiple nodes to improve reliability. There is no anycast instance because that would make debugging much harder and *.recursive-servers.dn42 instances should do loadbalancing/failover across all instances listed in the registry. |
|
| 23 | + |
|
| 24 | +## *.master.delegation-servers.dn42 |
|
| 25 | +These instances do not serve any clients. They poll the registry regularly and rebuild and resign (DNSSEC) the zones as needed. If any zone changes, all *.delegation-servers.dn42 instances are notified ([RFC1996](https://tools.ietf.org/html/rfc1996)) which then load the new zone data over AXFR ([RFC5936](https://tools.ietf.org/html/rfc5936)). The pool of masters is intentionally kept very small because of its much higher coordination needs and also the lacking support of a multi-master mode in many authoritative server implementations. The masters are only reachable over dedicated IPv6 assignments which are set up in a way that any master operator can hijack the address of a problematic master without having to wait for its operator to fix something. |
|
| 26 | + |
|
| 27 | +# Running your own instances |
|
| 28 | +* If you want to run your own instances, make sure you are subscribed to the [mailinglist](/contact). It is also strongly recommended to join #dn42-dns@hackint. All changes are announced to the mailinglist but IRC makes debugging sessions much easier. |
|
| 29 | +* Choose the implementation(s) you want to use. It should support at least AXFR+NOTIFY (*.delegation-servers.dn42) or DNSSEC (*.recursive-servers.dn42). |
|
| 30 | +* Check if [TODO](/TODO) already has configuration snippets for your implementation. |
|
| 31 | + * If yes, download it from there and include it in the main configuration. |
|
| 32 | + * If not, then join us in #dn42-dns@hackint so we can add it together. |
|
| 33 | +* Verify that everything works: |
|
| 34 | + * For *.delegation-servers.dn42: Do an AXFR against all zones and compare with the result of an existing instance. The result should be identical. |
|
| 35 | + * For *.recursive-servers.dn42: Query clearnet, dn42 and ICVPN domains including rDNS. Make sure that both signed and unsigned domains work properly. |
|
| 36 | +* (Optional) Choose your single letter name and ask in #dn42-dns@hackint to get it added to the registry. Once added to the list, you must implement changes announced to the mailinglist within a week (faster is obviously better) or you might get removed again. We try to keep maintenance work as low as possible but we can't do it without the cooperation of all operators! |
|
| 37 | + |
|
| 38 | +# [Monitoring](https://grafana.burble.com/d/E4iCaHoWk/dn42-dns-status?orgId=1&refresh=1m) |
|
| 39 | +burble is providing monitoring for the new DNS system. It does simple checks on all instances every minute and also logs all changes into #dn42-dns@hackint. |
|
| 40 | + |
|
| 41 | +Also, gatuno provides another simple [dns checker for all the top level domains](http://gatuno.dn42/dns/) in the registry. If you want to check whatever a domain is resolving or not, this tool may be useful. The tool gets in sync with the registry every 12 hours. You can schedule checks for any domain. |
|
| 42 | + |
|
| 43 | +# DNSSEC |
|
| 44 | +There are currently two KSKs managed by BURBLE-MNT and JRB0001-MNT. They are used once per quarter to sign the DNSKEY RRset. Each master operator has one ZSK which is used to sign the zones (except for the DNSKEY RRset). This setup leads to bigger responses but allows each KSK holder to solve emergencies independently. The signatures of the DNSKEY RRset are valid until the end of the first month of the next quarter to give enough time for coordinating the next signing. All other signatures are valid for 3 days and replaced at least once per day. |
|
| 45 | + |
|
| 46 | +The set of valid KSKs can be found in the registry. |
|
| 47 | + |
|
| 48 | +# See also |
|
| 49 | + |
|
| 50 | +* [DNS Quick Start](/services/DNS) |
|
| 51 | +* [Old Hierarchical DNS](/services/Old-Hierarchical-DNS) |
|
| 52 | +* [Original DNS (deprecated)](/services/Original-DNS-(deprecated)) |
services/dns/Old-Hierarchical-DNS.md
| ... | ... | @@ -0,0 +1,49 @@ |
| 1 | +This information is now **deprecated**. Please check [New DNS](/services/New-DNS) for the current architecture. |
|
| 2 | + |
|
| 3 | +*** |
|
| 4 | + |
|
| 5 | +DNS in the global internet is designed as a tree starting from "." and traveling outward in layers. Currently in DN42 dns is flat. This leads to issues when trying to debug problems and makes it difficult to delegate to subnets smaller than /24. Another problem that arises is having the root dns setup as an anycast. If one of the anycast roots is having problems it creates inconsistent errors for some users. This has led to the problem of when a user has a poorly configured anycast available to create their own root anycast. |
|
| 6 | + |
|
| 7 | +The purpose of this project is to create a system of high quality dns roots. With them in place, an anycast resolver would only need to be a simple caching resolver that uses the roots to query. |
|
| 8 | + |
|
| 9 | +## Hierarchy in DN42 |
|
| 10 | + |
|
| 11 | + - . (dot) |
|
| 12 | + - arpa |
|
| 13 | + - in-addr |
|
| 14 | + - 172 |
|
| 15 | + - 20 |
|
| 16 | + - 22 |
|
| 17 | + - 23 |
|
| 18 | + - 31 |
|
| 19 | + - dn42 |
|
| 20 | + - \<dn42 domain names> |
|
| 21 | + - hack |
|
| 22 | + - ffhh |
|
| 23 | + - \<Future Top Level Domains?> |
|
| 24 | + - \<ano, bit or other organisation TLDs?> |
|
| 25 | + - \<ICANN TLDs> |
|
| 26 | + |
|
| 27 | +Note: With this system it could be possible to merge the IANA root file.. but it would be beyond the scope of this project. |
|
| 28 | + |
|
| 29 | +## Servers |
|
| 30 | + |
|
| 31 | +For all of these servers they have a specific IP assigned, only respond to their authoritative zones, and do not allow recursion. |
|
| 32 | + |
|
| 33 | +**\<name>.root-servers.dn42** - This server is authoritative for "." (root zone). Is authorative for ICANN root as well. "172.in-addr.arpa" is delegated to ICANN, except rfc1918 zones which are delegated to dn42. The rest of rfc1918 as well as rfc4193 address space is delegated to dn42. |
|
| 34 | + |
|
| 35 | +**\<name>.zone-servers.dn42** - This server is authoritative for "dn42", "hack", .. This would be where the records for all forward dns nameservers would be. Similar to our current root setup. |
|
| 36 | + |
|
| 37 | +**\<name>.in-addr-servers.arpa** - This server is authoritative for "arpa", "in-addr", and each of the 172 zones for dn42 ip space. For non dn42 ip space NS records to the respective darknet would need to be registered. |
|
| 38 | + |
|
| 39 | +**\<name>.dn42-servers.arpa** - This server is authoritative for RFC 2317 delegations. For any inetnum object smaller than /24 and whos parent has no nameserver records, a C class parent zone is created (all its subnetworks are delegated to appropriate nameservers with CNAME) |
|
| 40 | + |
|
| 41 | +Real-time server monitor is available at <http://nixnodes.net/dn42/dnsview> |
|
| 42 | + |
|
| 43 | +## Setup |
|
| 44 | + |
|
| 45 | +Contact one of the root-servers.dn42 operators if you wish to set up a root/zone/dn42 server. |
|
| 46 | + |
|
| 47 | +You may want to set up a resolver, see link below or use 172.23.0.53 directly. |
|
| 48 | + |
|
| 49 | +Techical information available [here](https://nixnodes.net/wiki/n/DN42_DNS) |
services/dns/Original-DNS-(deprecated).md
| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | +# Original DNS (deprecated) |
|
| 2 | +This information is now **deprecated**. Please check [New DNS](/services/New-DNS) for the current architecture. |
|
| 3 | + |
|
| 4 | +*** |
|
| 5 | + |
|
| 6 | +*(tl;dr)* We have a TLD for dn42, which is `.dn42`. The anycast resolver for `.dn42` runs on `172.20.0.53` and `fd42:d42:d42:54::1`. |
|
| 7 | + |
|
| 8 | +**DNS is built from the [whois database](/services/Whois). Please edit your DNS records there.** |
|
| 9 | + |
|
| 10 | +## Using the DNS service |
|
| 11 | + |
|
| 12 | +Below are several ways to use the `dn42` DNS service, from easiest to more challenging. The recommended method is the second one. |
|
| 13 | + |
|
| 14 | +### Using the anycast resolver directly |
|
| 15 | + |
|
| 16 | +Please be aware that this method sends **all** your DNS queries (e.g. `google.com`) to a random DNS server inside dn42. The server could fake the result and point you towards the russian mafia. They probably won't, but think about what you are doing. At the end of the day, your ISP could be evil as well, so it always boils down to a question of trust. |
|
| 17 | + |
|
| 18 | +To do this, just use `172.20.0.53` or `fd42:d42:d42:54::1` as your resolver, for instance in `/etc/resolv.conf`. |
|
| 19 | + |
|
| 20 | +### Forwarding `.dn42` queries to the anycast resolver |
|
| 21 | + |
|
| 22 | +If you run your own resolver (`unbound`, `dnsmasq`, `bind`), you can configure it to forward dn42 queries to the anycast DNS resolver. See [DNS forwarder configuration](/services/dns/Configuration). |
|
| 23 | + |
|
| 24 | +### Recursive resolver |
|
| 25 | + |
|
| 26 | +You may also want to configure your resolver to recursively resolve dn42 domains. For this, you need to find authoritative DNS servers for the `dn42` zone (and for the reverse zones). See [services/dns/Recursive DNS resolver](/services/dns/Recursive-DNS-resolver). |
|
| 27 | + |
|
| 28 | +### Building the dn42 zones from the registry |
|
| 29 | + |
|
| 30 | +Finally, you may want to host your own authoritative DNS server for the `dn42` zone and the reverse zones. The zone files are built from the monotone repository: scripts are provided in the repository itself. |
|
| 31 | + |
|
| 32 | +## Register a `.dn42` domain name |
|
| 33 | + |
|
| 34 | +The root zone for `dn42.` is built from the [whois registry](/services/Whois). If you want to register a domain name, you need to add it to the registry (of course, you also need one or two authoritative nameservers). |
|
| 35 | + |
|
| 36 | +## DNS services for other networks |
|
| 37 | + |
|
| 38 | +Other networks are interconnected with dn42 (ChaosVPN, Freifunk, etc). Some of them also provide DNS service, you can configure your resolver to use it. See [External DNS](/services/dns/External-DNS). |
|
| 39 | + |
|
| 40 | +## Providing DNS services |
|
| 41 | + |
|
| 42 | +See [Providing Anycast DNS](/services/dns/Providing-Anycast-DNS). |
|
| 43 | + |
|
| 44 | +## [Old Hierarchical DNS](/services/Old-Hierarchical-DNS) |
|
| 45 | + |
|
| 46 | +This is a new effort to build a DNS system that mirrors how DNS was designed to work in clearnet. |
services/dns/Overview.md
| ... | ... | @@ -0,0 +1,73 @@ |
| 1 | +# DN42 DNS |
|
| 2 | + |
|
| 3 | +This page covers guidance and examples on using DNS within DN42. |
|
| 4 | + |
|
| 5 | +## Quick Start |
|
| 6 | + |
|
| 7 | +It is recommended to run your own DNS resolver as this provides you with the most security and privacy. |
|
| 8 | +However, to get started, or if running your own resolver isn't desirable an anycast service |
|
| 9 | +is available. The anycast service supports DNSSEC and will resolve public DNS names together with all the |
|
| 10 | +relevant DN42 and affiliated networks' names. |
|
| 11 | + |
|
| 12 | +### Using the DNS Anycast Service |
|
| 13 | + |
|
| 14 | +The DNS anycast service is provided by multiple operators, with each operator contributing to one of the two separate |
|
| 15 | +anycast services. By configuring both services, users get additional resiliency from having two, independent, resolvers. |
|
| 16 | + |
|
| 17 | +| Name | IPv4 | IPv6 | |
|
| 18 | +|---|---|---| |
|
| 19 | +| a0.recursive-servers.dn42 | 172.20.0.53 | fd42:d42:d42:54::1 | |
|
| 20 | +| a3.recursive-servers.dn42 | 172.23.0.53 | fd42:d42:d42:53::1 | |
|
| 21 | + |
|
| 22 | +To configure the service, ping both sets of addresses then set your primary nameserver to the lowest latency |
|
| 23 | +service and configure the other service as the secondary or backup nameserver. |
|
| 24 | + |
|
| 25 | +Example resolv.conf, preferring a0.recursive-servers.dn42 and IPv4: |
|
| 26 | + |
|
| 27 | +```conf |
|
| 28 | +nameserver 172.20.0.53 |
|
| 29 | +nameserver 172.23.0.53 |
|
| 30 | +nameserver fd42:d42:d42:54::1 |
|
| 31 | +nameserver fd42:d42:d42:53::1 |
|
| 32 | +search dn42 |
|
| 33 | +``` |
|
| 34 | + |
|
| 35 | +Example resolv.conf, preferring a3.recursive-servers.dn42 and IPv6: |
|
| 36 | + |
|
| 37 | +```conf |
|
| 38 | +nameserver fd42:d42:d42:53::1 |
|
| 39 | +nameserver fd42:d42:d42:54::1 |
|
| 40 | +nameserver 172.23.0.53 |
|
| 41 | +nameserver 172.20.0.53 |
|
| 42 | +option inet6 # Linux/glibc |
|
| 43 | +family inet6 inet4 # BSD |
|
| 44 | +search dn42 |
|
| 45 | +``` |
|
| 46 | + |
|
| 47 | +## Advanced Configuration |
|
| 48 | + |
|
| 49 | +There are multiple top level domains (TLDs) associated with DN42, its affiliated networks and for reverse DNS that must |
|
| 50 | +be configured in order to run your own resolver. The registry is the authoritative source of active TLDs, but see also |
|
| 51 | +this page [dns/External-DNS](/services/dns/External-DNS) in the wiki. |
|
| 52 | + |
|
| 53 | +### Split horizon DNS |
|
| 54 | + |
|
| 55 | +In this configuration, you run your own, caching resolver but forward DN42 related queries (with recursion bit set) |
|
| 56 | +to the anycast service. Example configurations for different recursor implementations are included in the [dns/Configuration](/services/dns/Configuration) page. |
|
| 57 | + |
|
| 58 | +### Full recursion |
|
| 59 | + |
|
| 60 | +Authoritative DNS for DN42 is provided by the *.delegation-servers.dn42 servers, see the DNS architecture here |
|
| 61 | +[New DNS](/services/dns/New-DNS) Delegations servers have full support for DNSSEC. Example configuration unbound implementations are included in the [dns/Configuration](/services/dns/Configuration#resolver-setup) page. |
|
| 62 | + |
|
| 63 | +## Additional client configuration |
|
| 64 | + |
|
| 65 | +- **Firefox**: Set `browser.fixup.domainsuffixwhitelist.dn42` to `true` in `about:config` to prevent Firefox from confusing dn42 domains with search queries. |
|
| 66 | + |
|
| 67 | +## Further Information |
|
| 68 | + |
|
| 69 | +* [dns/Configuration](/services/dns/Configuration) - Forwarder/Resolver configuration examples |
|
| 70 | +* [New DNS](/services/dns/New-DNS) - current architecture |
|
| 71 | +* [dns/External-DNS](/services/dns/External-DNS) - external DNS zones from interconnected networks |
|
| 72 | +* [Old Hierarchical DNS](/services/dns/Old-Hierarchical-DNS) - deprecated |
|
| 73 | +* [Original DNS (deprecated)](/services/dns/Original-DNS-(deprecated)) - deprecated |
services/exchanges/IX-Collection.md
| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | +|Name|Related Link(s)| |
|
| 2 | +|:---|:--------------| |
|
| 3 | +|IXP-frnte|[IXP-frnte](/services/exchanges/IXP-frnte)| |
|
| 4 | +|mcast-ix|[mcast-ix](/services/exchanges/mcast-ix)| |
|
| 5 | +|SERNET-IX|[SERNET-IX](/services/exchanges/SERNET-IX), [https://blog.sherpherd.net/ix.html](https://blog.sherpherd.net/ix.html)| |
|
| 6 | +|SerinaIX|<https://ix.dn42.serinanya.cn/>| |
|
| 7 | +|Nedifinita IX|https://ix.nedifinita.com/| |
services/exchanges/IXP-frnte.md
| ... | ... | @@ -0,0 +1,116 @@ |
| 1 | +The IXP frnte |
|
| 2 | +============= |
|
| 3 | + |
|
| 4 | +An IXP is a collection point for Internet providers. This can be physical or virtual. In a physical IXP, several Internet providers place servers in a data center and connect them to each other. |
|
| 5 | + |
|
| 6 | +In a virtual IXP, the servers are not "real". They are not physically connected with cables, but for example via a VPN. |
|
| 7 | + |
|
| 8 | +In dn42 almost all connections are virtual. One builds on the Internet and creates virtual links between the single nodes. In IXP frnte, all providers have virtual machines, which are connected to each other. Due to the large number of providers in IXP, it is possible to reach them easily and with low latency. However, the large number also leads to the fact that no direct peerings are established within an IXP, instead route servers are used. This receives and coordinates all routes of the providers and sends out appropriate routes. This way, many indirect peerings can be established. |
|
| 9 | + |
|
| 10 | +Current participants |
|
| 11 | +-------------------- |
|
| 12 | + |
|
| 13 | +| Name | AS | Route server | IRC | |
|
| 14 | +| --- | --- | --- | --- | |
|
| 15 | +| Bandura's network | 4242422923 | 4242421081 | mark22k | |
|
| 16 | + |
|
| 17 | +History and origin |
|
| 18 | +------------------ |
|
| 19 | + |
|
| 20 | +In dn42 and in the Anonet there was the UCIS IXP for a long time. However, this is no longer actively operated. |
|
| 21 | + |
|
| 22 | +Members of the LGP Corp have now created a new IXP in dn42. This is the IXP frnte. It is located in France near Nantes and has two separate internet connections. This article describes how to enter the IXP and set up peering with the current route server. |
|
| 23 | + |
|
| 24 | +Join the IXP |
|
| 25 | +------------ |
|
| 26 | + |
|
| 27 | +### 1\. Request the infrastructure |
|
| 28 | + |
|
| 29 | +LGP Corp provides virtual machines free of charge to any AS operator or anyone who wants to experiment with networks. There are no costs! The VM's can be configured and linked together as desired. The VM's can be connected to each other via a VLAN. Furthermore, an internet connection is available with two ISPs, depending on your choice. The virtual machine gets a public IPv6 and if necessary IPv4 over NAT to be able to access important resources like GitHub. |
|
| 30 | +It is best to create a diagram of your network and send it to the LGP Corp. |
|
| 31 | +The LGP Corp or the responsible admin for the IXP can be reached in **IRC** on hackint.org under **toinux**. Send the diagram to them and discuss further details. |
|
| 32 | +Furthermore, all virtual machines are put into a common VLAN. This causes that one can reach all providers at the IXP without problems. |
|
| 33 | + |
|
| 34 | +### 2\. Proxmox Login and VM Setup |
|
| 35 | + |
|
| 36 | +After that you will receive your access data for the Proxmox portal from the LGP Corp. Under which you can set up your VM's. The portal can be reached under [**https://pve.home.lgp-corp.fr/**](https://pve.home.lgp-corp.fr/). Select "Proxmox VE authentication server" as "Realm". It also offers a VNC monitor to work directly on the server. For the setup under SSH an IPv6 connectivity to the internet is required. If you only have an IPv4, you can get an IPv6 for free from Hurricane Electric at [https://tunnelbroker.net/](https://tunnelbroker.net/). |
|
| 37 | + |
|
| 38 | +### 3\. Configure VLAN |
|
| 39 | + |
|
| 40 | +An internal IPv6 Range has been requested for the IXP: `fde0:93fa:7a0:2::/64` ([fde0:93fa:7a0:2::/64 on explorer](https://explorer.dn42.dev/#/inet6num/fde0:93fa:7a0:2::_64)) |
|
| 41 | + |
|
| 42 | +The following is the assignment policy: |
|
| 43 | +`fde0:93fa:7a0:2:0:<asn32|high16|hex>:<asn32|low16|hex>:1/64` |
|
| 44 | +For example, if you have the ASN 4242421080, you get the range `fde0:93fa:7a0:2:0:fcde:3558:1/64` |
|
| 45 | +It should be noted that only the last block may be changed. So you get a practical IPv6 range of `fde0:93fa:7a0:2:0:fcde:3558:/112`. |
|
| 46 | +A Ruby script to calculate the IPv6 can be found on [ixp\_frnte\_dn42\_prefix.rb on GitHub Gist](https://gist.github.com/marek22k/494cf9c4d269867f23f2c3577e1780ef). |
|
| 47 | + |
|
| 48 | +An example configuration for Debian based Linux distributions would be: |
|
| 49 | + |
|
| 50 | +```sh |
|
| 51 | +iface ensXX inet6 static |
|
| 52 | + address fde0:93fa:7a0:2:0:fcde:3558:1/64 |
|
| 53 | +``` |
|
| 54 | + |
|
| 55 | +Here `ensXX` is the dn42 VLAN interface. This can be determined by comparing the MAC address of the interface with the MAC address of the dn42 VLAN in Proxmox. The MAC address can be determined on Linux with `ip l`: |
|
| 56 | + |
|
| 57 | +```sh |
|
| 58 | +ensXX: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu |
|
| 59 | + 1500 qdisc pfifo_fast state UP mode DEFAULT group |
|
| 60 | + default qlen 1000 |
|
| 61 | + link/ether MAC brd ff:ff:ff:ff:ff:ff |
|
| 62 | +``` |
|
| 63 | + |
|
| 64 | +`MAC` would be the MAC address. After that you can activate the interface with ifup or a reboot of the VM. |
|
| 65 | +Of course there are other configuration possibilities. This is only an example for Debian-based Linux distributions. |
|
| 66 | + |
|
| 67 | +### 4\. Connect to the Route Server |
|
| 68 | + |
|
| 69 | +There can be several Route Servers (RS) on one IXP. However, on the IXP frnte there is currently only one, which is operated by jlu5 (operator of the highdef network). |
|
| 70 | +IPv6: fde0:93fa:7a0:2:0:fcde:3559:1 |
|
| 71 | +ASN: 4242421081 |
|
| 72 | + |
|
| 73 | +You can now enter this configuration into your routing daemon and it will connect to the RS. You should keep in mind that the RS itself does not forward any traffic, but is only responsible for the coordination. Therefore the AS path must not necessarily start with the AS of the RS. |
|
| 74 | + |
|
| 75 | +An example configuration for bird2 would be the following: |
|
| 76 | + |
|
| 77 | +```conf |
|
| 78 | +protocol bgp ixp_rs from dnpeers { |
|
| 79 | + neighbor fde0:93fa:7a0:2:0:fcde:3559:1 as 4242421081; |
|
| 80 | + |
|
| 81 | + enable extended messages on; |
|
| 82 | + direct; |
|
| 83 | + enforce first as off; |
|
| 84 | + |
|
| 85 | + ipv4 { |
|
| 86 | + extended next hop; |
|
| 87 | + }; |
|
| 88 | +} |
|
| 89 | +``` |
|
| 90 | + |
|
| 91 | +**What does this configuration do?** |
|
| 92 | + |
|
| 93 | +First we create a new BGP session (`protocol bgp`). This is based on the dnpeers template which can be found in the standard Bird2 configuration in the [wiki](/howto/Bird2). We name this session "ixp\_rs". However, this is only an internal name and can be replaced with another one. |
|
| 94 | + |
|
| 95 | +After that we determine with whom we want to have the session. This would be the RS. Therefore we put IPv6 address and ASN there. |
|
| 96 | + |
|
| 97 | +Furthermore, we allow larger BGP messages. Thus, instead of 4096 bytes, a whole 65535 bytes are transmitted in one message. This is especially useful because an RS has to announce a lot of routes. |
|
| 98 | + |
|
| 99 | +With `direct` we indicate that the RS is directly connected to our server and no routing via third parties has to be performed. In our case, the RS is connected to us via the dn42 VLAN. |
|
| 100 | + |
|
| 101 | +The next line has the effect that the ASN of the RS does not necessarily have to be the next hop for routing. This is important because we do not route the traffic via the RS, but via the respective peers. These have an ASN that differs from the ASN of the RS. |
|
| 102 | + |
|
| 103 | +Since the dn42 VLAN _only_ supports IPv6, any IPv4 traffic must also go over IPv6. If you do not have or do not want to use IPv4, you can ignore this part of the configuration. |
|
| 104 | + |
|
| 105 | +Finally we save the bird2 configuration and load the new configuration with `birdc configure`. |
|
| 106 | + |
|
| 107 | +### 5\. Check if it works |
|
| 108 | + |
|
| 109 | +There are now a few things to check: |
|
| 110 | +Once you can see if the BGP session is esablished. In Bird you can do this with `birdc show protocols all ixp_rs`. |
|
| 111 | +Furthermore, you can display different routes (in case of bird with `birdc show route for [ip address]`) or perform a traceroute. |
|
| 112 | +One can also try to ping the IP of some at the IXP. From the latency you can also see if everything is working: |
|
| 113 | + |
|
| 114 | +* Bandura's pingable: |
|
| 115 | + * `172.22.149.224` |
|
| 116 | + * `fd04:234e:fc31::` |
services/exchanges/SERNET-IX.md
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +Placeholder. |
|
| ... | ... | \ No newline at end of file |
services/exchanges/mcast-ix.md
| ... | ... | @@ -0,0 +1,122 @@ |
| 1 | +we're planning to have a mcast-ix.dn42 somewhere in the cloud at #dn42 for years now... |
|
| 2 | + |
|
| 3 | +now we have a pull req with cosmetical issues only: <https://git.dn42.dev/dn42/registry/pulls/2575> |
|
| 4 | + |
|
| 5 | +the main goal is to have a shared lan where ases can peer to each other with the following conditions: |
|
| 6 | +* pure ethernet |
|
| 7 | +* low latency between the vms |
|
| 8 | +* native support for jumbo frames |
|
| 9 | +* possibility to private vlans between participants with the same conditions |
|
| 10 | + |
|
| 11 | +how to participate: |
|
| 12 | + |
|
| 13 | +all you have to do is prepare a qcow2 or vmdk image and upload it to somewhere and ping nop-mnt (mc36 @ irc) with the url... i'll wget it once then boot up your vm connected to the switchport... you'll have raw dn42 reachability there and pat-ed clearnet to continue your installation or upgrades or to connect to the rest of your infra... |
|
| 14 | + |
|
| 15 | +alternatively you can try remotely the ix by preparing the vm image and giving it a vnic pointing to a remote switch participating in the ix already. "-netdev socket,id=a1,udp=vpn.nop.hu:998,localaddr=:1234 -device virtio-net-pci,netdev=a1,mac=as:df:as:df:as:df" 4 example nop-mnt's vpls instance running in a very different datacenter where the real ix located, plus your networking delays to that datacenter, is the sum packet loss, delay, etc... its just about to try out the ix before participating... |
|
| 16 | + |
|
| 17 | +once finalized, only one thing to look for twice, the "console=ttyS0,115200n8" be present as a kernel parameter... plus that your only vnic at the real dc will be the above mentioned vpls instance, but now, with a much less delay/jitter/packetlosss.... if you need vnc access instead, just ask for it during the bringup phase.... |
|
| 18 | + |
|
| 19 | +if you need a private peering here between you and an other participant, just ask for a private ethernet connection... |
|
| 20 | + |
|
| 21 | +consider enabling lldp on your interfaces because it helps speed up things on the switch moreover if you'll have more interfaces there then will help you too... |
|
| 22 | + |
|
| 23 | +also consider enabling pim sparse mode on the ix and then you can have the rtp://[email protected]:1234/ stream |
|
| 24 | + |
|
| 25 | +last but not least, always save your configs! there will be a daily recurring power cut sheduled to 21:00pm cest +-1minutes to have the infrastructure auto-upgraded... |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +the whole idea is to consider the following hypervisor configuration: |
|
| 30 | + |
|
| 31 | +``` |
|
| 32 | +dn42ix#show startup-config vdc |
|
| 33 | +vdc definition vm-bri |
|
| 34 | + connect ethernet2825 vm-switch |
|
| 35 | + cpu host |
|
| 36 | + image /rtr/ix/bri.img |
|
| 37 | + memory 1024 |
|
| 38 | + nic virtio-net-pci |
|
| 39 | + mac cafe.beef.b00b |
|
| 40 | + exit |
|
| 41 | +vdc definition vm-clearnet |
|
| 42 | + local ethernet66602 |
|
| 43 | + local ethernet66603 |
|
| 44 | + connect ethernet66601 vm-switch |
|
| 45 | + exit |
|
| 46 | +vdc definition vm-jlu5 |
|
| 47 | + connect ethernet1080 vm-switch |
|
| 48 | + cpu host |
|
| 49 | + image /rtr/ix/jlu5.img |
|
| 50 | + cdrom /rtr/ix/jlu5.iso |
|
| 51 | + memory 1024 |
|
| 52 | + exit |
|
| 53 | +vdc definition vm-lare |
|
| 54 | + connect ethernet3035 vm-switch |
|
| 55 | + cpu host |
|
| 56 | + image /rtr/ix/lare.img |
|
| 57 | + memory 1024 |
|
| 58 | + exit |
|
| 59 | +vdc definition vm-nop |
|
| 60 | + connect ethernet1955 vm-switch |
|
| 61 | + exit |
|
| 62 | +vdc definition vm-routeserver |
|
| 63 | + exit |
|
| 64 | +vdc definition vm-switch |
|
| 65 | + connect ethernet1080 vm-jlu5 |
|
| 66 | + connect ethernet1955 vm-nop |
|
| 67 | + connect ethernet2825 vm-bri |
|
| 68 | + connect ethernet3035 vm-lare |
|
| 69 | + connect ethernet66601 vm-clearnet |
|
| 70 | + exit |
|
| 71 | + |
|
| 72 | +dn42ix# |
|
| 73 | +``` |
|
| 74 | + |
|
| 75 | +now you can have drop-in replacement vm-s to experiment with like whats it looks a like if the ix is provisioned on a juniper vsrx3 shitload or a cisco nxosv or plain freerouter in software mode or in p4dpdk mode.... |
|
| 76 | + |
|
| 77 | +then publishing a small report on r/networking on behalf of #dn42 measurements |
|
| 78 | + |
|
| 79 | +and probably doing even more crazyer projects/experiment if we settle to have a proper dn42 ix finally with low latency shared vlan between the vms... |
|
| 80 | + |
|
| 81 | +like a real ix... |
|
| 82 | + |
|
| 83 | +static addressing plan, there is a randomized dhcp and slaac on the subnet but consider picking up a static ip and pere with that: |
|
| 84 | + |
|
| 85 | + |
|
| 86 | + |
|
| 87 | +| nick/mnter | asn* | your-ipv4-fixed-ip | your-ipv6-fixed-ip | your-ipv6-linklocal | public lg | |
|
| 88 | +|:---------------|:-----|:-------------------|:--------------------------------------|:-------------------------|:----------------------------------------------------------| |
|
| 89 | +| sw1-mcastix | 1951 | N/A | N/A | N/A | TBD: SOON | |
|
| 90 | +| rs1-mcastix | 1951 | 172.23.124.126/27 | fde0:93fa:7a0:c1ca::179/64 | fe80::200:bff:fead:beef | TBD: SOON | |
|
| 91 | +| rtr1-badcorp | 1952 | 172.23.124.97/27 | fde0:93fa:7a0:c1ca::666/64 | fe80::260:54ff:fe33:2178 | TBD: SOON | |
|
| 92 | +| rtr1-nop | 1955 | 172.23.124.122/27 | fde0:93fa:7a0:c1ca::1955/64 | fe80::200:ccff:fe1e:c0de | telnet sandbox.freertr.org | |
|
| 93 | +| rtr1-catgirls | 1411 | 172.23.124.101/27 | fde0:93fa:7a0:c1ca:581a:fc3f:a2d0:828c/64 | fe80::1411:5 | TBD: SOON | |
|
| 94 | +| rtr1-catgirls2 | 1411 | TBD | TBD | TBD | TBD: SOON | |
|
| 95 | +| rtr1-lare | 3035 | 172.23.124.114/27 | fde0:93fa:7a0:c1ca:0:42:4242:3035/64 | fe80::21f:45ff:fe11:7356 | clearnet: <https://lg.lare.cc/> dn42: <https://lg.lare.dn42/> | |
|
| 96 | +| rtr1-bri | 2825 | TBD | TBD | TBD | TBD | |
|
| 97 | +| rtr1-jlu5 | 1080 | TBD | TBD | TBD | TBD | |
|
| 98 | +| rtr1-fl | 1975 | TBD | TBD | TBD | TBD | |
|
| 99 | + |
|
| 100 | + |
|
| 101 | + |
|
| 102 | + |
|
| 103 | +TBD: add yourself please here while keeping some ordering |
|
| 104 | + |
|
| 105 | +*: so your as number xxxx shortened here, the rigthmost part after the 424242xxxx.... this also will be your ethernetXXXX and so on so just remember this by heart XD |
|
| 106 | + |
|
| 107 | + |
|
| 108 | +| function | console | |
|
| 109 | +|:----------------|:---------------------------| |
|
| 110 | +| switch | telnet ix.nop.dn42 20001 | |
|
| 111 | +| route server 1 | telnet ix.nop.dn42 20002 | |
|
| 112 | +| bad-corp-rtr1 | telnet ix.nop.dn42 20003 | |
|
| 113 | + |
|
| 114 | + |
|
| 115 | +public mrt dumps and config archive of the infra at <http://ix.nop.dn42/> here |
|
| 116 | + |
|
| 117 | + |
|
| 118 | + |
|
| 119 | +it'll be shitload in the beginning but hopefully it could improve the common knowledge.... |
|
| 120 | + |
|
| 121 | + |
|
| 122 | +please consider joining #dn42-ix#2 to speed up sorting out potential issues, etc |
services/mcast-ix.md
| ... | ... | @@ -1,122 +0,0 @@ |
| 1 | -we're planning to have a mcast-ix.dn42 somewhere in the cloud at #dn42 for years now... |
|
| 2 | - |
|
| 3 | -now we have a pull req with cosmetical issues only: <https://git.dn42.dev/dn42/registry/pulls/2575> |
|
| 4 | - |
|
| 5 | -the main goal is to have a shared lan where ases can peer to each other with the following conditions: |
|
| 6 | -* pure ethernet |
|
| 7 | -* low latency between the vms |
|
| 8 | -* native support for jumbo frames |
|
| 9 | -* possibility to private vlans between participants with the same conditions |
|
| 10 | - |
|
| 11 | -how to participate: |
|
| 12 | - |
|
| 13 | -all you have to do is prepare a qcow2 or vmdk image and upload it to somewhere and ping nop-mnt (mc36 @ irc) with the url... i'll wget it once then boot up your vm connected to the switchport... you'll have raw dn42 reachability there and pat-ed clearnet to continue your installation or upgrades or to connect to the rest of your infra... |
|
| 14 | - |
|
| 15 | -alternatively you can try remotely the ix by preparing the vm image and giving it a vnic pointing to a remote switch participating in the ix already. "-netdev socket,id=a1,udp=vpn.nop.hu:998,localaddr=:1234 -device virtio-net-pci,netdev=a1,mac=as:df:as:df:as:df" 4 example nop-mnt's vpls instance running in a very different datacenter where the real ix located, plus your networking delays to that datacenter, is the sum packet loss, delay, etc... its just about to try out the ix before participating... |
|
| 16 | - |
|
| 17 | -once finalized, only one thing to look for twice, the "console=ttyS0,115200n8" be present as a kernel parameter... plus that your only vnic at the real dc will be the above mentioned vpls instance, but now, with a much less delay/jitter/packetlosss.... if you need vnc access instead, just ask for it during the bringup phase.... |
|
| 18 | - |
|
| 19 | -if you need a private peering here between you and an other participant, just ask for a private ethernet connection... |
|
| 20 | - |
|
| 21 | -consider enabling lldp on your interfaces because it helps speed up things on the switch moreover if you'll have more interfaces there then will help you too... |
|
| 22 | - |
|
| 23 | -also consider enabling pim sparse mode on the ix and then you can have the rtp://[email protected]:1234/ stream |
|
| 24 | - |
|
| 25 | -last but not least, always save your configs! there will be a daily recurring power cut sheduled to 21:00pm cest +-1minutes to have the infrastructure auto-upgraded... |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | -the whole idea is to consider the following hypervisor configuration: |
|
| 30 | - |
|
| 31 | -``` |
|
| 32 | -dn42ix#show startup-config vdc |
|
| 33 | -vdc definition vm-bri |
|
| 34 | - connect ethernet2825 vm-switch |
|
| 35 | - cpu host |
|
| 36 | - image /rtr/ix/bri.img |
|
| 37 | - memory 1024 |
|
| 38 | - nic virtio-net-pci |
|
| 39 | - mac cafe.beef.b00b |
|
| 40 | - exit |
|
| 41 | -vdc definition vm-clearnet |
|
| 42 | - local ethernet66602 |
|
| 43 | - local ethernet66603 |
|
| 44 | - connect ethernet66601 vm-switch |
|
| 45 | - exit |
|
| 46 | -vdc definition vm-jlu5 |
|
| 47 | - connect ethernet1080 vm-switch |
|
| 48 | - cpu host |
|
| 49 | - image /rtr/ix/jlu5.img |
|
| 50 | - cdrom /rtr/ix/jlu5.iso |
|
| 51 | - memory 1024 |
|
| 52 | - exit |
|
| 53 | -vdc definition vm-lare |
|
| 54 | - connect ethernet3035 vm-switch |
|
| 55 | - cpu host |
|
| 56 | - image /rtr/ix/lare.img |
|
| 57 | - memory 1024 |
|
| 58 | - exit |
|
| 59 | -vdc definition vm-nop |
|
| 60 | - connect ethernet1955 vm-switch |
|
| 61 | - exit |
|
| 62 | -vdc definition vm-routeserver |
|
| 63 | - exit |
|
| 64 | -vdc definition vm-switch |
|
| 65 | - connect ethernet1080 vm-jlu5 |
|
| 66 | - connect ethernet1955 vm-nop |
|
| 67 | - connect ethernet2825 vm-bri |
|
| 68 | - connect ethernet3035 vm-lare |
|
| 69 | - connect ethernet66601 vm-clearnet |
|
| 70 | - exit |
|
| 71 | - |
|
| 72 | -dn42ix# |
|
| 73 | -``` |
|
| 74 | - |
|
| 75 | -now you can have drop-in replacement vm-s to experiment with like whats it looks a like if the ix is provisioned on a juniper vsrx3 shitload or a cisco nxosv or plain freerouter in software mode or in p4dpdk mode.... |
|
| 76 | - |
|
| 77 | -then publishing a small report on r/networking on behalf of #dn42 measurements |
|
| 78 | - |
|
| 79 | -and probably doing even more crazyer projects/experiment if we settle to have a proper dn42 ix finally with low latency shared vlan between the vms... |
|
| 80 | - |
|
| 81 | -like a real ix... |
|
| 82 | - |
|
| 83 | -static addressing plan, there is a randomized dhcp and slaac on the subnet but consider picking up a static ip and pere with that: |
|
| 84 | - |
|
| 85 | - |
|
| 86 | - |
|
| 87 | -| nick/mnter | asn* | your-ipv4-fixed-ip | your-ipv6-fixed-ip | your-ipv6-linklocal | public lg | |
|
| 88 | -|:---------------|:-----|:-------------------|:--------------------------------------|:-------------------------|:----------------------------------------------------------| |
|
| 89 | -| sw1-mcastix | 1951 | N/A | N/A | N/A | TBD: SOON | |
|
| 90 | -| rs1-mcastix | 1951 | 172.23.124.126/27 | fde0:93fa:7a0:c1ca::179/64 | fe80::200:bff:fead:beef | TBD: SOON | |
|
| 91 | -| rtr1-badcorp | 1952 | 172.23.124.97/27 | fde0:93fa:7a0:c1ca::666/64 | fe80::260:54ff:fe33:2178 | TBD: SOON | |
|
| 92 | -| rtr1-nop | 1955 | 172.23.124.122/27 | fde0:93fa:7a0:c1ca::1955/64 | fe80::200:ccff:fe1e:c0de | telnet sandbox.freertr.org | |
|
| 93 | -| rtr1-catgirls | 1411 | 172.23.124.101/27 | fde0:93fa:7a0:c1ca:581a:fc3f:a2d0:828c/64 | fe80::1411:5 | TBD: SOON | |
|
| 94 | -| rtr1-catgirls2 | 1411 | TBD | TBD | TBD | TBD: SOON | |
|
| 95 | -| rtr1-lare | 3035 | 172.23.124.114/27 | fde0:93fa:7a0:c1ca:0:42:4242:3035/64 | fe80::21f:45ff:fe11:7356 | clearnet: <https://lg.lare.cc/> dn42: <https://lg.lare.dn42/> | |
|
| 96 | -| rtr1-bri | 2825 | TBD | TBD | TBD | TBD | |
|
| 97 | -| rtr1-jlu5 | 1080 | TBD | TBD | TBD | TBD | |
|
| 98 | -| rtr1-fl | 1975 | TBD | TBD | TBD | TBD | |
|
| 99 | - |
|
| 100 | - |
|
| 101 | - |
|
| 102 | - |
|
| 103 | -TBD: add yourself please here while keeping some ordering |
|
| 104 | - |
|
| 105 | -*: so your as number xxxx shortened here, the rigthmost part after the 424242xxxx.... this also will be your ethernetXXXX and so on so just remember this by heart XD |
|
| 106 | - |
|
| 107 | - |
|
| 108 | -| function | console | |
|
| 109 | -|:----------------|:---------------------------| |
|
| 110 | -| switch | telnet ix.nop.dn42 20001 | |
|
| 111 | -| route server 1 | telnet ix.nop.dn42 20002 | |
|
| 112 | -| bad-corp-rtr1 | telnet ix.nop.dn42 20003 | |
|
| 113 | - |
|
| 114 | - |
|
| 115 | -public mrt dumps and config archive of the infra at <http://ix.nop.dn42/> here |
|
| 116 | - |
|
| 117 | - |
|
| 118 | - |
|
| 119 | -it'll be shitload in the beginning but hopefully it could improve the common knowledge.... |
|
| 120 | - |
|
| 121 | - |
|
| 122 | -please consider joining #dn42-ix#2 to speed up sorting out potential issues, etc |