diff --git a/asn/AS211876.toml b/asn/AS211876.toml index c842ff9..90836c3 100644 --- a/asn/AS211876.toml +++ b/asn/AS211876.toml @@ -1,4 +1,4 @@ -name = "FIXMIX-AS" +name = "FIXMIX-GEN" owner = "David Liu" description = "fixmix Global Experimental Network" source = "Internet" diff --git a/asn/AS4201270021.toml b/asn/AS4201270021.toml index f72cd78..484de5d 100644 --- a/asn/AS4201270021.toml +++ b/asn/AS4201270021.toml @@ -1,4 +1,4 @@ -name = "FIXMIX-AS-NEONETWORK" +name = "FIXMIX-NEO" owner = "David Liu" description = "fixmix NeoNetwork Network" diff --git a/asn/AS4201270022.toml b/asn/AS4201270022.toml new file mode 100644 index 0000000..0ec479a --- /dev/null +++ b/asn/AS4201270022.toml @@ -0,0 +1,3 @@ +name = "lilydjwg" +owner = "lilydjwg" +desc = "lilydjwg's network" diff --git a/asn/AS4242421876.toml b/asn/AS4242421876.toml index 8273315..960652c 100644 --- a/asn/AS4242421876.toml +++ b/asn/AS4242421876.toml @@ -1,3 +1,3 @@ -name = "FIXMIX-AS-DN42" +name = "FIXMIX-42" owner = "David Liu" description = "fixmix DN42 Network" diff --git a/dns/db.10.127 b/dns/db.10.127 index d883585..1973543 100644 --- a/dns/db.10.127 +++ b/dns/db.10.127 @@ -1,74 +1,86 @@ ; NeoNetwork DNS Record -$TTL 604800 -@ IN SOA NeoPDP-11.neo. root.neo. ( - 4096 ; Serial - 604800 ; Refresh - 86400 ; Retry - 2419200 ; Expire - 604800 ) ; Negative Cache TTL +$TTL 3600 +@ IN SOA root-dns.neo. root.neo. ( + 4096 ; Serial + 900 ; Refresh + 900 ; Retry + 86400 ; Expire + 900 ) ; Negative Cache TTL ; -@ IN NS NeoPDP-11.neo. +@ IN NS NeoPDP-11.neo. -; -1.1 IN PTR NeoPDP-11.neo. -40.1 IN PTR cklvax.neo. -63.1 IN PTR NNPCC.neo. -20.1 IN PTR NeoBOX.neo. -10.1 IN PTR neostorage.neonetwork. -80.1 IN PTR NeoSystem.neo. -1.3 IN PTR pan.neo. -16.2 IN PTR caasih.neo. -127.2 IN PTR NeoRouter.neo. -1.233 IN PTR liqingge.user-icecat.eth-ether5.cn.magicneko.neo. -1.234 IN PTR liqingge.user-icecat.eth-ether5.cn.magicneko.neo. -8.4 IN PTR koishi-v4.up-core.vtap-hentai-bb.hk.magicneko.neo. -10.4 IN PTR luotianyi-v4.up.vtap-hentai-bb.hk.magicneko.neo. -15.4 IN PTR yuezhengling-v4.up.vtap-hentai-bb.jp.magicneko.neo. +1.1 IN PTR NeoPDP-11.neo. +40.1 IN PTR cklvax.neo. +63.1 IN PTR NNPCC.neo. +20.1 IN PTR NeoBOX.neo. +10.1 IN PTR neostorage.neonetwork. +80.1 IN PTR NeoSystem.neo. +1.3 IN PTR pan.neo. +16.2 IN PTR caasih.neo. +127.2 IN PTR NeoRouter.neo. -1.14 IN PTR gr-0-1-0-0.cr2.hkg1.licson.neo. -2.14 IN PTR moecast.gr-0-1-0-0.cr2.hkg1.licson.neo. -5.14 IN PTR gr-0-1-0-1.cr2.hkg1.licson.neo. -6.14 IN PTR yura.gr-0-1-0-1.cr2.hkg1.licson.neo. -9.14 IN PTR gr-0-1-0-2.cr2.hkg1.licson.neo. -10.14 IN PTR neochen.gr-0-1-0-2.cr2.hkg1.licson.neo. -13.14 IN PTR gr-0-1-0-3.cr2.hkg1.licson.neo. -14.14 IN PTR jerry.gr-0-1-0-3.cr2.hkg1.licson.neo. -1.15 IN PTR ae-0-1.cr2.hkg1.licson.neo. +1.233 IN PTR liqingge.user-icecat.eth-ether5.cn.magicneko.neo. +1.234 IN PTR liqingge.user-icecat.eth-ether5.cn.magicneko.neo. +8.4 IN PTR koishi-v4.up-core.vtap-hentai-bb.hk.magicneko.neo. +10.4 IN PTR luotianyi-v4.up.vtap-hentai-bb.hk.magicneko.neo. +15.4 IN PTR yuezhengling-v4.up.vtap-hentai-bb.jp.magicneko.neo. -1.8 IN PTR librehs.neo. -2.8 IN PTR blog.librehs.neo. +1.14 IN PTR gr-0-1-0-0.cr2.hkg1.licson.neo. +2.14 IN PTR moecast.gr-0-1-0-0.cr2.hkg1.licson.neo. +5.14 IN PTR gr-0-1-0-1.cr2.hkg1.licson.neo. +6.14 IN PTR yura.gr-0-1-0-1.cr2.hkg1.licson.neo. +9.14 IN PTR gr-0-1-0-2.cr2.hkg1.licson.neo. +10.14 IN PTR neochen.gr-0-1-0-2.cr2.hkg1.licson.neo. +13.14 IN PTR gr-0-1-0-3.cr2.hkg1.licson.neo. +14.14 IN PTR jerry.gr-0-1-0-3.cr2.hkg1.licson.neo. +1.15 IN PTR ae-0-1.cr2.hkg1.licson.neo. -130.8 IN PTR edwardp.neo. +1.8 IN PTR librehs.neo. +2.8 IN PTR blog.librehs.neo. + +130.8 IN PTR edwardp.neo. ; Loopback Addresses -1.255 IN PTR NeoPDP-11.neo. -4.255 IN PTR fsnvax.neo. -18.255 IN PTR icecat-video.neo. -53.255 IN PTR root-dns.neo. -54.255 IN PTR dns.neo. -56.255 IN PTR frank-hsinchu-1.neo. -80.255 IN PTR NeoSystem.neo. -117.255 IN PTR magicneko-tw.neo. +1.255 IN PTR NeoPDP-11.neo. +4.255 IN PTR fsnvax.neo. +18.255 IN PTR icecat-video.neo. +53.255 IN PTR root-dns.neo. +54.255 IN PTR dns.neo. +56.255 IN PTR frank-hsinchu-1.neo. +80.255 IN PTR NeoSystem.neo. +117.255 IN PTR magicneko-tw.neo. ; DELEGATED ZONES -7 IN NS ns1.staph.neo. +7 IN NS ns1.staph.neo. -9 IN NS ns1.jerry.neo. -9 IN NS ns2.jerry.neo. +9 IN NS ns1.jerry.neo. +9 IN NS ns2.jerry.neo. +9 IN NS ns3.jerry.neo. +9 IN DS 35017 13 2 31AA09841AF1F44753F0733ECD32A19E45368AAD4136B6AC75A3DCD257EFAA5C -10 IN NS ns-anycast.lantian.neo. -10 IN NS ns1.lantian.neo. -10 IN NS ns2.lantian.neo. -10 IN NS ns3.lantian.neo. -10 IN NS ns4.lantian.neo. -10 IN NS ns5.lantian.neo. +10 IN NS ns-anycast.lantian.neo. +10 IN NS ns1.lantian.neo. +10 IN NS ns2.lantian.neo. +10 IN NS ns3.lantian.neo. +10 IN NS ns4.lantian.neo. +10 IN NS ns5.lantian.neo. +10 IN DS 53292 13 1 13DCA067F09A9937FC8F5B649DF3A84EDEF70294 +10 IN DS 53292 13 2 7AC5C59806459C390DE0A078DE05F726C882D362E307F747AE358C1A3610228B +10 IN DS 53292 13 4 17C4FC53AE45A90840779DF75A5640E20126F732F69BFA848C878AC008484368A9B6325B31ED70F5FD77D9676545667C -11 IN NS ns1.sun.dn42. +11 IN NS ns1.sun.dn42. -12 IN NS ns1.yangfl.dn42. -12 IN NS ns2.yangfl.dn42. +12 IN NS ns1.yangfl.dn42. +12 IN NS ns2.yangfl.dn42. -21 IN NS ns.iedon.neo. +21 IN NS ns.iedon.neo. + +127 IN NS ns1.yura.dn42. +127 IN NS ns2.yura.dn42. + +66 IN NS ns1.fixmix.neo. +66 IN NS ns2.fixmix.neo. +66 IN NS ns3.fixmix.neo. diff --git a/dns/db.fd10.127 b/dns/db.fd10.127 index 8dbdc78..adb1468 100644 --- a/dns/db.fd10.127 +++ b/dns/db.fd10.127 @@ -1,32 +1,45 @@ ; NeoNetwork DNS Record -$TTL 604800 -@ IN SOA NeoPDP-11.neo. root.neo. ( - 4096 ; Serial - 604800 ; Refresh - 86400 ; Retry - 2419200 ; Expire - 604800 ) ; Negative Cache TTL +$TTL 3600 +@ IN SOA root-dns.neo. root.neo. ( + 4096 ; Serial + 900 ; Refresh + 900 ; Retry + 86400 ; Expire + 900 ) ; Negative Cache TTL ; -@ IN NS NeoPDP-11.neo. +@ IN NS NeoPDP-11.neo. -1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.3.c.1.3.3.2.0 IN PTR liqingge.router.br-koishi.lo.she.as141706.koishi.moe. -0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.f.2.f.2 IN PTR edwardp.neo. +1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.3.c.1.3.3.2.0 IN PTR liqingge.router.br-koishi.lo.she.as141706.koishi.moe. +0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.f.2.f.2 IN PTR edwardp.neo. ; Loopback Addresses -0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.5.0.0.f.f.f.f IN PTR root-dns.neo. +0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.5.0.0.f.f.f.f IN PTR root-dns.neo. ; DELEGATED ZONES -3.5.0.0 IN NS ns1.jerry.neo. -3.5.0.0 IN NS ns2.jerry.neo. +3.5.0.0 IN NS ns1.jerry.neo. +3.5.0.0 IN NS ns2.jerry.neo. +3.5.0.0 IN NS ns3.jerry.neo. +3.5.0.0 IN DS 53626 13 2 F7F6AFCCA1CEC26E2A6EE9FAC9E11975260F00B8DC287D0B0FF428F775C62C5D -0.1.0.0 IN NS ns-anycast.lantian.neo. -0.1.0.0 IN NS ns1.lantian.neo. -0.1.0.0 IN NS ns2.lantian.neo. -0.1.0.0 IN NS ns3.lantian.neo. -0.1.0.0 IN NS ns4.lantian.neo. -0.1.0.0 IN NS ns5.lantian.neo. +0.1.0.0 IN NS ns-anycast.lantian.neo. +0.1.0.0 IN NS ns1.lantian.neo. +0.1.0.0 IN NS ns2.lantian.neo. +0.1.0.0 IN NS ns3.lantian.neo. +0.1.0.0 IN NS ns4.lantian.neo. +0.1.0.0 IN NS ns5.lantian.neo. +0.1.0.0 IN DS 11807 13 1 6B42025140C9BBDDA0460429B5641651B1553D78 +0.1.0.0 IN DS 11807 13 2 BBADC27B4EBFC90CBA79F4E69E4F167B9FFAF664B071F4CC46196902054B0910 +0.1.0.0 IN DS 11807 13 4 CB48D8BABA0E44B9D363D3142463014EBDE6D28E15997EA8FB5FDBD42FDCF1CF3846E63925A5910DDD6A192571AEBD93 -7.0.0.0 IN NS ns1.staph.neo. -1.1.e.e IN NS ns1.sun.dn42. +7.0.0.0 IN NS ns1.staph.neo. + +7.2.1.0 IN NS ns1.yura.dn42. +7.2.1.0 IN NS ns2.yura.dn42. + +1.1.e.e IN NS ns1.sun.dn42. + +6.6.a.a IN NS ns1.fixmix.neo. +6.6.a.a IN NS ns2.fixmix.neo. +6.6.a.a IN NS ns3.fixmix.neo. diff --git a/dns/dnssec/10.127.keys b/dns/dnssec/10.127.keys new file mode 100644 index 0000000..16c0233 --- /dev/null +++ b/dns/dnssec/10.127.keys @@ -0,0 +1 @@ +127.10.in-addr.arpa. 600 IN DNSKEY 257 3 13 QVgt1c+OlL9X9jrnD39njabYFCi2eEYjLI5AvpXT6HWAF1BbAOfNm/56 4OeU03oDcCgQ6zNQMV0FNPvrk53K0w== diff --git a/dns/dnssec/fd10.127.keys b/dns/dnssec/fd10.127.keys new file mode 100644 index 0000000..00f360b --- /dev/null +++ b/dns/dnssec/fd10.127.keys @@ -0,0 +1 @@ +7.2.1.0.0.1.d.f.ip6.arpa. 600 IN DNSKEY 257 3 13 sI90N0KcwXtpqNDmsagKH/761EzsjSlGyYxx338qRrDlzRwXQPG6bO1m HoTdnKrWBcd1JqYM0/tgDXKep7dJgA== diff --git a/dns/dnssec/neo.keys b/dns/dnssec/neo.keys new file mode 100644 index 0000000..cb447bb --- /dev/null +++ b/dns/dnssec/neo.keys @@ -0,0 +1 @@ +neo. 600 IN DNSKEY 257 3 13 jDd4k21xTgqOFqtvQkeqdQs/RH5+SU+vFchqnOHk5yaEL6EQDOKNuYJ2 C4ld+tVHf007GgbKX6BC68uMU8iGIg== diff --git a/dns/neonetwork b/dns/neonetwork index 1e0fe2e..944f9ad 100644 --- a/dns/neonetwork +++ b/dns/neonetwork @@ -1,88 +1,118 @@ ; NeoNetwork DNS Record - -$TTL 604800 -@ IN SOA NeoPDP-11.neo. root.neo. ( - 4096 ; Serial - 604800 ; Refresh - 86400 ; Retry - 2419200 ; Expire - 604800 ) ; Negative Cache TTL +$TTL 3600 +@ IN SOA root-dns.neo. root.neo. ( + 4096 ; Serial + 900 ; Refresh + 900 ; Retry + 86400 ; Expire + 900 ) ; Negative Cache TTL ; ; NeoNetwork Original -@ IN NS NeoPDP-11.neo. -@ IN A 10.127.1.1 -root IN CNAME neo. -NeoPDP-11 IN A 10.127.255.1 -caasih IN A 10.127.2.16 -NeoVAX IN A 10.127.2.22 -NeoSystem IN A 10.127.255.80 -neostorage IN A 10.127.1.10 -NeoBOX IN A 10.127.1.20 -cklvax IN A 10.127.1.40 -pan IN A 10.127.3.1 -NeoRouter IN A 10.127.2.127 -santost12 IN A 10.127.39.1 +@ IN NS root-dns.neo. +@ IN TXT "brought to you by NeoPDP-11" +root IN CNAME neo. +NeoPDP-11 IN A 10.127.255.1 +caasih IN A 10.127.2.16 +NeoVAX IN A 10.127.2.22 +NeoSystem IN A 10.127.255.80 +neostorage IN A 10.127.1.10 +NeoBOX IN A 10.127.1.20 +cklvax IN A 10.127.1.40 +pan IN A 10.127.3.1 +NeoRouter IN A 10.127.2.127 +santost12 IN A 10.127.39.1 -neko IN TXT "helloworld" -telegram IN TXT "https://t.me/NeoNetworkVPN" -root-dns IN A 10.127.255.53 -root-dns IN AAAA fd10:127:ffff:53:: -dns IN A 10.127.255.54 -dns IN AAAA fd10:127:53:53:: +neko IN TXT "helloworld" +telegram IN TXT "https://t.me/NeoNetworkVPN" +root-dns IN A 10.127.255.53 +root-dns IN AAAA fd10:127:ffff:53:: +dns IN A 10.127.255.54 +dns IN AAAA fd10:127:53:53:: -edwardp IN A 10.127.8.130 -edwardp IN AAAA fd10:127:2f2f:: +edwardp IN A 10.127.8.130 +edwardp IN AAAA fd10:127:2f2f:: ; DELEGATED ZONES -jerry IN NS ns1.jerry -jerry IN NS ns2.jerry -ns1.jerry IN A 10.127.8.193 -ns1.jerry IN AAAA fd10:127:53::1 -ns2.jerry IN A 10.127.8.216 -ns2.jerry IN AAAA fd10:127:53:100::1 +jerry IN NS ns1.jerry +jerry IN NS ns2.jerry +jerry IN NS ns3.jerry +jerry IN DS 18792 13 2 2F335456EEE70FC4833886E5EEDC28E7195E90E2A337860B3E805D5EB9F3A804 +ns1.jerry IN A 10.127.8.193 +ns1.jerry IN AAAA fd10:127:53::1 +ns2.jerry IN A 10.127.8.216 +ns2.jerry IN AAAA fd10:127:53:100::1 +ns3.jerry IN A 10.127.8.208 +ns3.jerry IN AAAA fd10:127:53:200::1 -kp IN NS ns1.kp -ns1.kp IN A 10.127.39.1 -ns1.kp IN AAAA fd10:127:ec39:2222::1 +kp IN NS ns1.kp +ns1.kp IN A 10.127.39.1 +ns1.kp IN AAAA fd10:127:ec39:2222::1 -tracker IN NS ns1.tracker -ns1.tracker IN A 10.127.39.1 -ns1.tracker IN AAAA fd10:127:ec39:2222::1 +tracker IN NS ns1.tracker +ns1.tracker IN A 10.127.39.1 +ns1.tracker IN AAAA fd10:127:ec39:2222::1 -lantian IN NS ns-anycast.lantian -lantian IN NS ns1.lantian -lantian IN NS ns2.lantian -lantian IN NS ns3.lantian -lantian IN NS ns4.lantian -lantian IN NS ns5.lantian -ns-anycast.lantian IN A 10.127.10.254 -ns-anycast.lantian IN AAAA fd10:127:10:2547::54 -ns1.lantian IN A 10.127.10.1 -ns1.lantian IN AAAA fd10:127:10:1::1 -ns2.lantian IN A 10.127.10.3 -ns2.lantian IN AAAA fd10:127:10:3::1 -ns3.lantian IN A 10.127.10.8 -ns3.lantian IN AAAA fd10:127:10:8::1 -ns4.lantian IN A 10.127.10.2 -ns4.lantian IN AAAA fd10:127:10:2::1 -ns5.lantian IN A 10.127.10.9 -ns5.lantian IN AAAA fd10:127:10:9::1 +lantian IN NS ns-anycast.lantian +lantian IN NS ns1.lantian +lantian IN NS ns2.lantian +lantian IN NS ns3.lantian +lantian IN NS ns4.lantian +lantian IN NS ns5.lantian +lantian IN DS 47346 13 1 BF0E344C96838564CF9DBA3889AAE6E3DA5F6835 +lantian IN DS 47346 13 2 1023D2C40803BA13F2148BC67A09E50A3157EE3E7B1DC2C22041D3B981E976E3 +lantian IN DS 47346 13 4 1DBFA42E78F699241042E18061218CC2DEA7A69884E634165CE99AA5C65ECF4DF7DA16B382494A5AE7D781AB9A3BB1C5 +ns-anycast.lantian IN A 10.127.10.254 +ns-anycast.lantian IN AAAA fd10:127:10:2547::54 +ns1.lantian IN A 10.127.10.1 +ns1.lantian IN AAAA fd10:127:10:1::1 +ns2.lantian IN A 10.127.10.3 +ns2.lantian IN AAAA fd10:127:10:3::1 +ns3.lantian IN A 10.127.10.8 +ns3.lantian IN AAAA fd10:127:10:8::1 +ns4.lantian IN A 10.127.10.2 +ns4.lantian IN AAAA fd10:127:10:2::1 +ns5.lantian IN A 10.127.10.9 +ns5.lantian IN AAAA fd10:127:10:9::1 -iedon IN NS ns.iedon -ns.iedon IN A 10.127.21.1 +iedon IN NS ns.iedon +ns.iedon IN A 10.127.21.1 -staph IN NS ns1.staph -staph IN NS ns2.staph -staph IN DS 64592 13 2 1AF24492D8FAE84D99E05C9B9088DDB8A82003F3301A53F35EFEC1627BEADDBA -ns1.staph IN A 10.127.8.185 -ns1.staph IN AAAA fd10:127:7::1 -ns2.staph IN A 10.127.8.190 -ns2.staph IN AAAA fd10:127:7::6 -aoscnet IN NS ns1.aoscnet -aoscnet IN NS ns2.aoscnet -aoscnet IN DS 27134 13 2 57145BCB903E0F0060BF94AA4EE5894DCA19D64E6B455A1C1864DA0FD4BA64E2 -ns1.aoscnet IN A 10.127.7.251 -ns1.aoscnet IN AAAA fd10:127:7:2672::1:1 -ns2.aoscnet IN A 10.127.7.252 -ns2.aoscnet IN AAAA fd10:127:7:2672::1:3 +staph IN NS ns1.staph +staph IN NS ns2.staph +staph IN DS 64592 13 2 1AF24492D8FAE84D99E05C9B9088DDB8A82003F3301A53F35EFEC1627BEADDBA +ns1.staph IN A 10.127.8.185 +ns1.staph IN AAAA fd10:127:7::1 +ns2.staph IN A 10.127.8.190 +ns2.staph IN AAAA fd10:127:7::6 +aoscnet IN NS ns1.aoscnet +aoscnet IN NS ns2.aoscnet +aoscnet IN DS 27134 13 2 57145BCB903E0F0060BF94AA4EE5894DCA19D64E6B455A1C1864DA0FD4BA64E2 +ns1.aoscnet IN A 10.127.7.251 +ns1.aoscnet IN AAAA fd10:127:7:2672::1:1 +ns2.aoscnet IN A 10.127.7.252 +ns2.aoscnet IN AAAA fd10:127:7:2672::1:3 + +yura IN NS ns.yura +yura IN NS ns1.yura +yura IN NS ns2.yura +yura IN DS 63132 15 1 0E03FCE3B54D9FC84A12CC6CF36A71158AA88933 +yura IN DS 63132 15 2 75C0A884399D5ECA686EC35287CDAC2A756D94C30815A0055B88B068F3C947A7 +yura IN DS 63132 15 4 C4BB952FC40FA0185499A4E613864A29FC06FC8014299F2F3702A6E6420D3C054545A11566B95211C2C678F1F6F255F3 +ns.yura IN A 10.127.127.125 +ns.yura IN AAAA fd10:127:127:53:: +ns1.yura IN AAAA fd10:127:127:53a::1 +ns2.yura IN AAAA fd10:127:127:53b::1 + +fixmix IN NS ns1.fixmix +fixmix IN NS ns2.fixmix +fixmix IN NS ns3.fixmix +david IN NS ns1.fixmix +david IN NS ns2.fixmix +david IN NS ns3.fixmix +ns1.fixmix IN A 10.127.66.59 +ns2.fixmix IN A 10.127.66.54 +ns3.fixmix IN A 10.127.66.52 +ns1.fixmix IN AAAA fd10:127:aa66:11:: +ns2.fixmix IN AAAA fd10:127:aa66:21:: +ns3.fixmix IN AAAA fd10:127:aa66:31:: diff --git a/dns/rfc2317.toml b/dns/rfc2317.toml index c9aa4e3..09f3a9d 100644 --- a/dns/rfc2317.toml +++ b/dns/rfc2317.toml @@ -1,8 +1,11 @@ ["10.127.8.64/26"] -ns = ["ns1.jerry.neo.", "ns2.jerry.neo."] +NS = ["ns1.jerry.neo.", "ns2.jerry.neo.", "ns3.jerry.neo."] +DS = ["12536 13 2 A2AEEFCDB5F0BB6C4AC075EF1034C5635AEFE5A2DA9E7FF7D8BBE53B5E61E8E3"] +TTL = -1 ["10.127.8.192/26"] -ns = ["ns1.jerry.neo.", "ns2.jerry.neo."] +NS = ["ns1.jerry.neo.", "ns2.jerry.neo.", "ns3.jerry.neo."] +DS = ["24982 13 2 463EAE9D8248179806321A2ED3F05377234FD13DF0C2F20428C3B148F9C31B3D"] ["10.127.8.160/27"] -ns = ["ns1.staph.neo."] +NS = ["ns1.staph.neo."] diff --git a/entity/Yura.toml b/entity/Yura.toml index e7eacbc..72163a2 100644 --- a/entity/Yura.toml +++ b/entity/Yura.toml @@ -1,18 +1,9 @@ name = "Yura" -babel = [ - "zh-N", - "zh-hans-N", - "zh-hant-2", - "zh-yue-2", - "en-3", - "ru-0", - "fi-0", - "ar-0", - "jp-0" -] +babel = [] [contact] email = "yurachan@etlgr.com" +telegram = "@noc2464" [persona] pgp = "9E525A59D24A4041CA3C32BBF75C0CDC951918BE" diff --git a/entity/liangjw.toml b/entity/liangjw.toml index ebe530d..f19e03c 100644 --- a/entity/liangjw.toml +++ b/entity/liangjw.toml @@ -9,7 +9,7 @@ babel = [ ] [contact] -email = "liangjw@etlgr.com" +email = "dn42@cas7.moe" telegram = "liangjw" [persona] diff --git a/entity/lilydjwg.toml b/entity/lilydjwg.toml new file mode 100644 index 0000000..c36ab07 --- /dev/null +++ b/entity/lilydjwg.toml @@ -0,0 +1,6 @@ +name = "lilydjwg" + +[contact] +email = "lilydjwg@gmail.com" +github = "lilydjwg" +telegram = "@lilydjwg" diff --git a/route/AS211876.toml b/route/AS211876.toml index a70ecad..712ca56 100644 --- a/route/AS211876.toml +++ b/route/AS211876.toml @@ -1,9 +1,9 @@ ["10.127.66.0/24"] type = "subnet" -name = "FIXMIX-NET-NEOV4A" -description = "fixmix NeoNetwork Network - IPv4 A" +name = "FIXMIX-NET4-NEOA" +description = "fixmix Technologies NeoNetwork IPv4 Block" ["fd10:127:aa66::/48"] type = "subnet" -name = "FIXMIX-NET-NEOV6A" -description = "fixmix NeoNetwork Network - IPv6 A" +name = "FIXMIX-NET6-NEOA" +description = "fixmix Technologies NeoNetwork IPv6 Block" diff --git a/route/AS4201270016.toml b/route/AS4201270016.toml index caea67a..4105e8f 100644 --- a/route/AS4201270016.toml +++ b/route/AS4201270016.toml @@ -1,4 +1,9 @@ -["10.127.64.0/27"] +["10.127.64.0/24"] type = "subnet" -name = "Moecast Network" -description = "Moecast Network Public Service" +name = "MOECAST-EXP-NET" +description = "Moecast Network Experimental Network" + +["fd10:127:64::/48"] +type = "subnet" +name = "MOECAST-EXP-NET-NG" +description = "Moecast Network Experimental Network NextGen" diff --git a/route/AS4201270021.toml b/route/AS4201270021.toml index a70ecad..712ca56 100644 --- a/route/AS4201270021.toml +++ b/route/AS4201270021.toml @@ -1,9 +1,9 @@ ["10.127.66.0/24"] type = "subnet" -name = "FIXMIX-NET-NEOV4A" -description = "fixmix NeoNetwork Network - IPv4 A" +name = "FIXMIX-NET4-NEOA" +description = "fixmix Technologies NeoNetwork IPv4 Block" ["fd10:127:aa66::/48"] type = "subnet" -name = "FIXMIX-NET-NEOV6A" -description = "fixmix NeoNetwork Network - IPv6 A" +name = "FIXMIX-NET6-NEOA" +description = "fixmix Technologies NeoNetwork IPv6 Block" diff --git a/route/AS4201270022.toml b/route/AS4201270022.toml new file mode 100644 index 0000000..f60c9ae --- /dev/null +++ b/route/AS4201270022.toml @@ -0,0 +1,9 @@ +["10.127.8.136/29"] +type = "subnet" +name = "lilydjwg" +description = "lilydjwg" + +["fd10:127:ba7e::/48"] +type = "subnet" +name = "lilydjwg" +description = "lilydjwg" diff --git a/route/AS4242421876.toml b/route/AS4242421876.toml index a70ecad..712ca56 100644 --- a/route/AS4242421876.toml +++ b/route/AS4242421876.toml @@ -1,9 +1,9 @@ ["10.127.66.0/24"] type = "subnet" -name = "FIXMIX-NET-NEOV4A" -description = "fixmix NeoNetwork Network - IPv4 A" +name = "FIXMIX-NET4-NEOA" +description = "fixmix Technologies NeoNetwork IPv4 Block" ["fd10:127:aa66::/48"] type = "subnet" -name = "FIXMIX-NET-NEOV6A" -description = "fixmix NeoNetwork Network - IPv6 A" +name = "FIXMIX-NET6-NEOA" +description = "fixmix Technologies NeoNetwork IPv6 Block" diff --git a/route/AS4242422464.toml b/route/AS4242422464.toml index 9eb1d71..0c45ec8 100644 --- a/route/AS4242422464.toml +++ b/route/AS4242422464.toml @@ -1,4 +1,38 @@ ["10.127.127.0/24"] type = "subnet" name = "Yura Moe NET" -description = "Yura Network" +description = "Yura Neo Network" + +["fd10:127:127::/48"] +type = "subnet" +name = "Yura Neo2" +description = "Yura Neo Network2" + +["10.127.127.127/32"] +type = "loopback" +name = "Yura Neo Anycast" +description = "Yura Anycast4 Services" +supernet = "10.127.127.0/24" + +["fd10:127:127:53::/64"] +type = "loopback" +name = "Yura Neo2 Anycast" +description = "Yura Anycast6 Services" +supernet = "fd10:127:127::/48" + +["10.127.127.125/32"] +type = "loopback" +name = "Yura Neo Anycast" +description = "Yura Anycast4 Authoritative DNS" +supernet = "10.127.127.0/24" + +["10.127.255.54/32"] +type = "loopback" +name = "anycast-recur-4" +description = "Anycast recursive DNS" + +["fd10:127:53:53::/64"] +type = "loopback" +name = "anycast-recur-6" +description = "Anycast recursive DNS" +supernet = "fd10:127:53::/48" diff --git a/scripts/check-named-zones.sh b/scripts/check-named-zones.sh index e2789ea..219869b 100755 --- a/scripts/check-named-zones.sh +++ b/scripts/check-named-zones.sh @@ -13,10 +13,10 @@ install() { install || { sudo apt update -qq; install; } check() { - PATH=/sbin:/usr/sbin:$PATH named-checkzone -i local $@ + PATH=/sbin:/usr/sbin:$PATH named-checkzone -i local -l 86400 $@ } -pushd dns +pushd generated/dns check 'neo' neonetwork check '127.10.in-addr.arpa' db.10.127 diff --git a/scripts/dns-generator.py b/scripts/dns-generator.py index fb468b8..444fc4e 100755 --- a/scripts/dns-generator.py +++ b/scripts/dns-generator.py @@ -11,15 +11,17 @@ RFC2317_FILE = Path("dns", "rfc2317.toml") def iter_rfc2317_entry(): entries = toml.loads(RFC2317_FILE.read_text()) for (route, attributes) in entries.items(): - ns = attributes.get('ns') - yield(route, ns) + ns = attributes.get('NS') + ds = attributes.get('DS', list()) + ttl = attributes.get('TTL', -1) + yield(route, ns, ds, ttl) def main(): orignal = RESOLVE_FILE.read_text() records = [orignal, "; AUTOGENERATED"] records.extend(("", "; rfc2317")) - for route, ns in iter_rfc2317_entry(): - records.extend(gen_reverse_pointers(route, ns)) + for route, ns, ds, ttl in iter_rfc2317_entry(): + records.extend(gen_reverse_pointers(route, ns, ds, ttl)) records.append("") RESOLVE_FILE.write_text("\n".join(records)) diff --git a/scripts/generate-roa.sh b/scripts/generate-roa.sh index 6ad09ab..98f703d 100755 --- a/scripts/generate-roa.sh +++ b/scripts/generate-roa.sh @@ -12,7 +12,9 @@ mkdir -p generated mkdir -p generated/dns scripts/dns-generator.py +scripts/update-zone-serial.py cp -R dns/* generated/dns +scripts/check-named-zones.sh scripts/roa.py -m "$MAX_LEN_4" -M "$MAX_LEN_6" -o generated/roa46_bird2.conf scripts/roa.py -m "$MAX_LEN_4" -M "$MAX_LEN_6" -4 -o generated/roa4_bird2.conf @@ -21,5 +23,3 @@ scripts/roa.py -m "$MAX_LEN_4" -M "$MAX_LEN_6" -j -o generated/roa46.json scripts/roa.py -m "$MAX_LEN_4" -M "$MAX_LEN_6" -e -o generated/neonetwork.json scripts/roa.py -m "$MAX_LEN_4" -M "$MAX_LEN_6" -r -o generated/rfc8416.json scripts/roa.py --summary --output generated/README.md - -scripts/check-named-zones.sh diff --git a/scripts/named-formatzone.py b/scripts/named-formatzone.py new file mode 100644 index 0000000..a4ec807 --- /dev/null +++ b/scripts/named-formatzone.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 + +# highly explosive + +import argparse +from pathlib import Path + +if __name__ == "__main__": + parser = argparse.ArgumentParser('named-formatzone') + parser.add_argument("file") + args = parser.parse_args() + zonefile = Path(args.file) + zonelines = zonefile.read_text().split('\n') + formatted = list() + max_length = [0, 0, 0, 0, 0] + in_soa = False + + def iter_lines(scan_only=True): + soafound = None + for rline in zonelines: + line, *comments = rline.split(';') + comments = ";".join(comments) + line = line.strip() + if "SOA" in line and soafound is None: + soafound = True + else: + if "IN" in line and soafound is True: + soafound = False + if soafound is False and line: + cols = line.split() + if len(cols) != 5: + cols.insert(1, "") + print(cols) + name, ttl, _in, rrtype, *record = cols + record = " ".join(record) + cols = (name, ttl, _in, rrtype, record) + assert _in == "IN" + if scan_only: + for i, entry in enumerate(cols): + max_length[i] = max(max_length[i], len(entry)) + else: + fmtlline = list() + for i, entry in enumerate(cols): + entry += " "*(max_length[i]-len(entry)+3) + if entry: + fmtlline.append(entry) + fmtline = " ".join(fmtlline) + formatted.append(f"{fmtline} ;{comments}" if comments else fmtline) + formatted[-1] = formatted[-1].strip() + else: + if not scan_only: + formatted.append(rline) + iter_lines() + iter_lines(False) + + zonefile.write_text("\n".join(formatted)) diff --git a/scripts/requirements.txt b/scripts/requirements.txt index ce56533..4fd92c5 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -1,3 +1,4 @@ netaddr==0.8.0 tabulate==0.8.7 toml==0.10.1 +dnspython==2.1.0 diff --git a/scripts/rfc2317.py b/scripts/rfc2317.py index bf3b6dd..d9badff 100755 --- a/scripts/rfc2317.py +++ b/scripts/rfc2317.py @@ -8,19 +8,22 @@ def truncate(rev: str) -> str: rev = rev[:-len(ZONE)] return rev -def gen_reverse_pointers(network: str, ns: list) -> list: +def gen_reverse_pointers(network: str, ns: list, ds: list = [], ttl: int = -1) -> list: + ttl = f"{ttl} " if 900 <= ttl <= 86400 else "" buf = list() net = ipaddress.IPv4Network(network, strict=True) assert net.prefixlen > 24 netrev = truncate(net.reverse_pointer) for _ns in ns: - buf.append(f"{netrev:<10s} IN NS {_ns}") + buf.append(f"{netrev} {ttl}IN NS {_ns}") + for _ds in ds: + buf.append(f"{netrev} {ttl}IN DS {_ds}") for addr in net: cnamefr = truncate(addr.reverse_pointer) cnameto = f"{int.from_bytes(addr.packed, byteorder='big', signed=False) & 0xff}.{netrev}" - buf.append(f"{cnamefr:<10s} IN CNAME {cnameto}") + buf.append(f"{cnamefr} {ttl}IN CNAME {cnameto}") return buf if __name__ == "__main__": - print("\n".join(gen_reverse_pointers('10.127.8.64/26', ['ns1.jerry.neo.']))) + print("\n".join(gen_reverse_pointers('10.127.8.64/26', ['ns1.jerry.neo.'], ['18792 13 2 2F335456EEE70FC4833886E5EEDC28E7195E90E2A337860B3E805D5EB9F3A804'], ttl=1500))) diff --git a/scripts/roa.py b/scripts/roa.py index f3472d4..69b6e92 100755 --- a/scripts/roa.py +++ b/scripts/roa.py @@ -13,6 +13,11 @@ from pathlib import Path import netaddr import toml from tabulate import tabulate +# dnssec +from base64 import b64decode +from dns.dnssec import make_ds +from dns.rdtypes.ANY.DNSKEY import DNSKEY + NEO_NETWORK_POOL = [ip_network("10.127.0.0/16"), ip_network("fd10:127::/32")] @@ -165,6 +170,31 @@ def prehandle_roa(asn_table: dict, args): r["prefix"] = r["prefix"].with_prefixlen return roa4, roa6 +def export_dnssec_dnskey(): + def ds_from_dnskey(zone, flags, protocol, algorithm, *key): + dnspy_dnskey = DNSKEY("IN", "DNSKEY", int(flags), int(protocol), int(algorithm), b64decode(" ".join(key))) + return make_ds(zone, dnspy_dnskey, "SHA256").to_text() + dnskey_path = Path("dns") / "dnssec" + dnskeys = list() + for f in dnskey_path.iterdir(): + if f.name.endswith(".keys"): + zonekey = {"zone": "", "records": list()} + records = f.read_text().split("\n") + records = [r.split() for r in records if r] + for zone, _ttl, _in, _dnskey, *dnskey in records: + int(_ttl) + assert _in == "IN" and _dnskey == "DNSKEY" + if not zonekey["zone"]: + zonekey["zone"] = zone + else: + assert zonekey["zone"] == zone + zonekey["records"].append({ + "dnskey": " ".join(dnskey), + "ds": ds_from_dnskey(zone, *dnskey), + }) + if zonekey["zone"]: + dnskeys.append(zonekey) + return dnskeys def make_export(roa4, roa6): def modify_entity(entity): @@ -204,6 +234,7 @@ def make_export(roa4, roa6): } for owner, entity in entities.items() }, + "dnssec": export_dnssec_dnskey() } return json.dumps(output, indent=2) diff --git a/scripts/update-zone-serial.py b/scripts/update-zone-serial.py new file mode 100755 index 0000000..7ee4aa9 --- /dev/null +++ b/scripts/update-zone-serial.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +from pathlib import Path +import subprocess +from time import time +from re import match +from os import chdir + +zone_files = [ + 'neonetwork', + 'db.10.127', + 'db.fd10.127', +] + +serial_base = 1586876035 +new_serial = int(time()) - serial_base + +def update_serial_to(zone: Path, serial: int = 0) -> int: + lines = zone.read_text().split("\n") + processed = list() + assert 0 <= serial <= 2**32 + found = False + old_serial = None + for line in lines: + if not found and (m := match(r"^(\s+)([0-9]+)(\s*;\s*Serial\s*)$", line)): + prefix, old_serial, suffix = m.groups() + old_serial = int(old_serial) + print(f"{old_serial=} {serial=}") + plen = max(len(prefix) - len(str(serial)) + len(str(old_serial)), 0) + processed.append(f"{' '*plen}{serial}{suffix}") + found = True + else: + processed.append(line) + if serial: + zone.write_text("\n".join(processed)) + return old_serial + +for zone in zone_files: + gen_zone = Path("generated") / "dns" / zone + repo_zone = Path("dns") / zone + assert gen_zone.exists() + assert repo_zone.exists() + old_serial = update_serial_to(gen_zone) + update_serial_to(repo_zone, old_serial) + gen_zone.write_text(repo_zone.read_text()) + p = subprocess.run(['git', 'diff', '--exit-code', gen_zone.name], cwd=gen_zone.parent) + if p.returncode == 0: + print(f"skip {repo_zone.name}") + else: + print(f"update serial {repo_zone.name}") + update_serial_to(repo_zone, new_serial)