{"id":1598,"date":"2025-08-29T15:36:01","date_gmt":"2025-08-29T06:36:01","guid":{"rendered":"https:\/\/bokumin45.server-on.net\/blog\/?p=1598"},"modified":"2025-10-07T13:46:54","modified_gmt":"2025-10-07T04:46:54","slug":"freebsdpf%e3%81%a7%e6%97%a5%e6%9c%ac%e4%bb%a5%e5%a4%96%e3%81%8b%e3%82%89%e3%81%aessh%e6%8e%a5%e7%b6%9a%e3%82%92%e3%83%96%e3%83%ad%e3%83%83%e3%82%af%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.bokumin.org\/blog\/2025\/08\/29\/freebsdpf%e3%81%a7%e6%97%a5%e6%9c%ac%e4%bb%a5%e5%a4%96%e3%81%8b%e3%82%89%e3%81%aessh%e6%8e%a5%e7%b6%9a%e3%82%92%e3%83%96%e3%83%ad%e3%83%83%e3%82%af%e3%81%99%e3%82%8b\/","title":{"rendered":"FreeBSD+PF\u3067\u65e5\u672c\u4ee5\u5916\u304b\u3089\u306eSSH\u63a5\u7d9a\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308b"},"content":{"rendered":"\n<p>Blocking IP addr except for my area with FreeBSD+PF <\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u306f\u3058\u3081\u306b<\/strong><\/p>\n\n\n\n<p>\u73fe\u5728\u3001\u79c1\u306e\u5bb6\u3067\u306f\u4ee5\u524d\u8cfc\u5165\u3057\u305f<a href=\"https:\/\/www.dell.com\/support\/manuals\/ja-jp\/wyse-3040-thin-client\/3040_ug\/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E4%BB%95%E6%A7%98?guid=guid-b35dd1df-32f3-4c36-84a9-52d9a5c0810c&amp;lang=ja-jp\">Wyse3040<\/a>\u3067\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30b5\u30fc\u30d0\u3092\u69cb\u7bc9\u30fb\u7a3c\u50cd\u3055\u305b\u3066\u3044\u307e\u3059\u3002\u4ee5\u524d\u306f\u30ed\u30b0\u53ce\u96c6\u306a\u3069\u3092\u76ee\u7684\u306b\u4f7f\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001\u7d06\u4f59\u66f2\u6298\u3042\u308a\u73fe\u5728\u306e\u5f62\u306b\u843d\u3061\u7740\u304d\u307e\u3057\u305f\u3002<br>\u203b\u4ee5\u524d\u306eWyse3040\u306e\u3068\u304d\u306e\u8a18\u4e8b\u306f\u3053\u3061\u3089\u3067\u3059<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-blog-bokumin-org wp-block-embed-blog-bokumin-org\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"wp-embed-custom-wrapper my-6 bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden hover:shadow-md transition-shadow duration-300\"><blockquote class=\"wp-embedded-content\" data-secret=\"PDdmFXALFl\"><a href=\"https:\/\/bokumin.org\/blog\/2024\/12\/16\/wyse3040%e3%81%a7%e3%83%ad%e3%82%b0%e5%8f%8e%e9%9b%86%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e7%9b%a3%e8%a6%96%e3%81%99%e3%82%8bwyse3040%e3%81%a7%e3%83%ad%e3%82%b0%e5%8f%8e%e9%9b%86\/\">Wyse3040\u3067\u30ed\u30b0\u53ce\u96c6\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u76e3\u8996\u3059\u308b(Grafana+Loki+Promtail)<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;Wyse3040\u3067\u30ed\u30b0\u53ce\u96c6\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u76e3\u8996\u3059\u308b(Grafana+Loki+Promtail)&#8221; &#8212; Blog | bokumin.org\" src=\"https:\/\/bokumin.org\/blog\/2024\/12\/16\/wyse3040%e3%81%a7%e3%83%ad%e3%82%b0%e5%8f%8e%e9%9b%86%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e7%9b%a3%e8%a6%96%e3%81%99%e3%82%8bwyse3040%e3%81%a7%e3%83%ad%e3%82%b0%e5%8f%8e%e9%9b%86\/embed\/#?secret=fBwjE6nTHB#?secret=PDdmFXALFl\" data-secret=\"PDdmFXALFl\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p>\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3068\u306f\u3044\u3063\u3066\u3082\u3001\u305d\u3093\u306a\u8907\u96d1\u306a\u69cb\u6210\u306f\u3057\u3066\u304a\u3089\u305a\u3001\u5358\u7d14\u306b\u30dd\u30fc\u30c8\u306e\u89e3\u653e\u3068L2\u30b9\u30a4\u30c3\u30c1\u306eDHCP\u5272\u5f53\u3001Web\u30b5\u30fc\u30d0\u3078\u306e\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u3050\u3089\u3044\u3067\u3057\u305f\u3002<br>\u4e00\u5fdcFail2ban\u3092\u7a3c\u50cd\u3055\u305b\u3066\u304a\u308a\u3001\u305d\u308c\u3067SSH\u306b\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3057\u3066\u304f\u308b\u4eba\u305f\u3061\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308b\u3088\u3046\u306a\u5f62\u306b\u3057\u3066\u3044\u307e\u3057\u305f\u3002\u30d6\u30ed\u30c3\u30af\u3092\u3057\u3066\u3082\u6bce\u65e5\u5e73\u5747200\u56de\u301c500\u56de\u3050\u3089\u3044SSH\u30a2\u30af\u30bb\u30b9\u3092\u8a66\u307f\u308b\u4eba\u305f\u3061\u304c\u3044\u308b\u3068\u3044\u3046\u72b6\u6cc1\u3067\u3059\u3002<br>\u3053\u306e\u30b5\u30fc\u30d0\u306f\u79c1\u3057\u304b\u30a2\u30af\u30bb\u30b9\u3057\u306a\u3044\u305f\u3081\u3001\u5730\u7406\u7684\u306a\u30a2\u30af\u30bb\u30b9\u5236\u9650\u3092\u5b9f\u88c5\u3057\u3066\u3082\u554f\u984c\u306a\u3044\u3068\u5224\u65ad\u3057\u3001\u5b9f\u969b\u306b\u69cb\u7bc9\u3057\u3066\u307f\u307e\u3057\u305f\u3002<br>\u4eca\u56de\u306f\u305d\u306e\u3084\u308a\u65b9\u306b\u3064\u3044\u3066\u7c21\u5358\u306b\u8aac\u660e\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br><\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u5730\u7406\u7684\u306bSSH\u63a5\u7d9a\u3067\u304d\u308b\u30a8\u30ea\u30a2\u3092\u5236\u9650\u3059\u308b<\/strong><\/p>\n\n\n\n<p>\u308f\u305f\u3057\u306f\u65e5\u672c\u306b\u4f4f\u3093\u3067\u3044\u308b&amp;\u304b\u3064\u57fa\u672c\u7684\u306b\u6d77\u5916\u306b\u306f\u884c\u304b\u306a\u3044\u3067\u3059\u3002\u3068\u3044\u3046\u304b\u4eba\u751f\u3067\u4e00\u56de\u3082\u884c\u3063\u305f\u3053\u3068\u304c\u306a\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u65e5\u672c\u306eIP\u306e\u307f\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308c\u3070\u3001\u57fa\u672c\u7684\u306b\u554f\u984c\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<br>\u65e5\u672c\u306eIP\u30ea\u30b9\u30c8\u3068\u3057\u3066\u3001<a href=\"https:\/\/www.apnic.net\/\">APNIC(Asia Pacific Network Information Centre)<\/a>\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3001\u6574\u5f62\u3092\u3057\u3066\u3044\u304d\u307e\u3059\u3002APNIC\u306f<strong>\u30a2\u30b8\u30a2\u592a\u5e73\u6d0b\u5730\u57df\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u756a\u53f7\u8cc7\u6e90\u7ba1\u7406\u6a5f\u95a2<\/strong>\u3067\u3001\u4e3b\u306b\u4e00\u90e8\u306e\u30a2\u30b8\u30a2\u5730\u57df\u306eIP\u30a2\u30c9\u30ec\u30b9\u3084AS\u756a\u53f7\u306e\u5272\u308a\u5f53\u3066\u3092\u7ba1\u7406\u3057\u3066\u3044\u308b\u7d44\u7e54\u306b\u306a\u3063\u3066\u304a\u308a\u3001\u4fe1\u983c\u6027\u304c\u9ad8\u3044\u3082\u306e\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u5b9f\u969b\u306bAPNIC\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$ wget \"http:\/\/ftp.apnic.net\/stats\/apnic\/delegated-apnic-latest\"\n$ cat delegated-apnic-latest\napnic|CN|ipv6|240e:800::|21|20111214|allocated\napnic|CN|ipv6|240e:1000::|20|20181227|allocated\napnic|CN|ipv6|240e:2000::|19|20181227|allocated\napnic|JP|ipv6|240f::|24|20101224|allocated\napnic|JP|ipv6|240f:100::|24|20171027|allocated\napnic|CN|ipv6|240f:4000::|24|20190709|allocated\napnic|CN|ipv6|240f:8000::|24|20150427|allocated\napnic|CN|ipv6|240f:c000::|24|20190917|allocated\napnic|SG|ipv6|2410::|17|20241108|allocated<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">wget<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">http:\/\/ftp.apnic.net\/stats\/apnic\/delegated-apnic-latest<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">cat<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">delegated-apnic-latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">CN<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240e:800::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">21<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20111214<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">CN<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240e:1000::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20181227<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">CN<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240e:2000::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">19<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20181227<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">JP<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240f::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">24<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20101224<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">JP<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240f:100::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">24<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20171027<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">CN<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240f:4000::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">24<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20190709<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">CN<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240f:8000::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">24<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20150427<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">CN<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">240f:c000::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">24<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20190917<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">apnic<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">SG<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">ipv6<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">2410::<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">17<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">20241108<\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">allocated<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u53d6\u5f97\u3057\u305f<strong>delegated-apnic-latest<\/strong>\u3092\u65e5\u672c\u306eIPv4\u30d6\u30ed\u30c3\u30af\u3060\u3051\u62bd\u51fa\u3057\u3066CIDR\u5f62\u5f0f\u306b\u5909\u63db\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br>\u30db\u30b9\u30c8\u6570\u3092CIDR\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u9577\u306b\u5909\u63db\u3059\u308b\u306e\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5909\u63db\u3092\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br>256\u30db\u30b9\u30c8 \u2192 \/24<br>512\u30db\u30b9\u30c8 \u2192 \/23<br>1024\u30db\u30b9\u30c8 \u2192 \/22<br>4096\u30db\u30b9\u30c8 \u2192 \/20<br>8192\u30db\u30b9\u30c8 \u2192 \/19<\/p>\n\n\n\n<p>\u5909\u63db\u3092\u3059\u308b\u305f\u3081\u306e\u7c21\u5358\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u304c\u3053\u3061\u3089\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>#!\/bin\/sh\ngrep '^apnic|JP|ipv4|' delegated-apnic-latest | while IFS='|' read -r registry cc type start value date status; do\n    case $value in\n        256) echo \"$start\/24\" ;;\n        512) echo \"$start\/23\" ;;\n        1024) echo \"$start\/22\" ;;\n        2048) echo \"$start\/21\" ;;\n        4096) echo \"$start\/20\" ;;\n        8192) echo \"$start\/19\" ;;\n        16384) echo \"$start\/18\" ;;\n        65536) echo \"$start\/16\" ;;\n        *) echo \"$start\/$(echo \"32 - l($value)\/l(2)\" | bc -l | cut -d. -f1)\" ;;\n    esac\ndone > japan-ips.txt\n\n# IPv6\u306e\u5834\u5408\ngrep '^apnic|JP|ipv6|' delegated-apnic-latest | while IFS='|' read -r registry cc type start value date status; do\n    echo \"$start\/$value\"\ndone > japan-ips-v6.txt<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#!\/bin\/sh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">grep<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">^apnic|JP|ipv4|<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">delegated-apnic-latest<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">while<\/span><span style=\"color: #BABED8\"> IFS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">|<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #82AAFF\">read<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-r<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">registry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">cc<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">type<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">start<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">value<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">date<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">status<\/span><span style=\"color: #89DDFF\">;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">do<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">case<\/span><span style=\"color: #BABED8\"> $value <\/span><span style=\"color: #89DDFF; font-style: italic\">in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        256<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/24<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        512<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/23<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        1024<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/22<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        2048<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/21<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        4096<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/20<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        8192<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/19<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        16384<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/18<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        65536<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/16<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF\">*)<\/span><span style=\"color: #BABED8\"> echo <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">32 - l(<\/span><span style=\"color: #BABED8\">$value<\/span><span style=\"color: #C3E88D\">)\/l(2)<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">bc<\/span><span style=\"color: #C3E88D\"> -l <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">cut<\/span><span style=\"color: #C3E88D\"> -d. -f1<\/span><span style=\"color: #89DDFF\">)&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">esac<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">done<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> japan-ips.txt<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># IPv6\u306e\u5834\u5408<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">grep<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">^apnic|JP|ipv6|<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">delegated-apnic-latest<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">while<\/span><span style=\"color: #BABED8\"> IFS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">|<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #82AAFF\">read<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-r<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">registry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">cc<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">type<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">start<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">value<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">date<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">status<\/span><span style=\"color: #89DDFF\">;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">do<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/<\/span><span style=\"color: #BABED8\">$value<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">done<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> japan-ips-v6.txt<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u30c7\u30fc\u30bf\u3092\u78ba\u8a8d\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5f62\u306b\u306a\u3063\u3066\u3044\u308c\u3070\u6210\u529f\u3067\u3059\u3002<br>\u203bIPv6\u3067\u306e\u5b9f\u88c5\u306f\u4eca\u56de\u3057\u3066\u304a\u308a\u307e\u305b\u3093<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$ cat japan-ips.txt \n223.216.0.0\/13\n223.223.0.0\/16\n223.223.160.0\/22\n223.223.164.0\/22\n223.223.208.0\/21\n223.223.224.0\/19\n223.252.64.0\/19\n223.252.112.0\/20<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">cat<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">japan-ips.txt<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.216.0.0\/13<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.223.0.0\/16<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.223.160.0\/22<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.223.164.0\/22<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.223.208.0\/21<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.223.224.0\/19<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.252.64.0\/19<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">223.252.112.0\/20<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u305d\u308c\u3067\u306f\u5b9f\u969b\u306b\u3001\u6574\u5f62\u3057\u305fjapan-ips.txt\u3092\u4f7f\u3063\u3066PF\u3067\u30a2\u30af\u30bb\u30b9\u5236\u9650\u3092\u304b\u3051\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>table &lt;japan_ips> persist file \"\/etc\/japan-ips.txt\"\n# persist \u2192 \u30b7\u30b9\u30c6\u30e0\u518d\u8d77\u52d5\u5f8c\u3082\u30c6\u30fc\u30d6\u30eb\u5185\u5bb9\u3092\u4fdd\u6301\n\n\nblock in quick log proto tcp from !&lt;japan_ips> to any port 22\n# !&lt;japan_ips>\u3000\u2192 \u65e5\u672cIP\u30c6\u30fc\u30d6\u30eb\u306b\u542b\u307e\u308c\u306a\u3044IP\u30a2\u30c9\u30ec\u30b9\u3059\u3079\u3066\n# quick \u2192 \u5373\u5ea7\u306b\u30d6\u30ed\u30c3\u30af\u3067\u4ee5\u964d\u306e\u30eb\u30fc\u30eb\u3092\u53cd\u6620\u3057\u306a\u3044\n# log \u2192 \u30d6\u30ed\u30c3\u30af\u3055\u308c\u305f\u30d1\u30b1\u30c3\u30c8\u3092\u30ed\u30b0\u306b<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">table<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #C3E88D\">japan_ip<\/span><span style=\"color: #BABED8\">s<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">persist<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">file<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/etc\/japan-ips.txt<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># persist \u2192 \u30b7\u30b9\u30c6\u30e0\u518d\u8d77\u52d5\u5f8c\u3082\u30c6\u30fc\u30d6\u30eb\u5185\u5bb9\u3092\u4fdd\u6301<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">block<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">in<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">quick<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">log<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">proto<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">tcp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">from<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">!<\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #C3E88D\">japan_ip<\/span><span style=\"color: #BABED8\">s<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">to<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">any<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">port<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">22<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># !&lt;japan_ips&gt;\u3000\u2192 \u65e5\u672cIP\u30c6\u30fc\u30d6\u30eb\u306b\u542b\u307e\u308c\u306a\u3044IP\u30a2\u30c9\u30ec\u30b9\u3059\u3079\u3066<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># quick \u2192 \u5373\u5ea7\u306b\u30d6\u30ed\u30c3\u30af\u3067\u4ee5\u964d\u306e\u30eb\u30fc\u30eb\u3092\u53cd\u6620\u3057\u306a\u3044<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># log \u2192 \u30d6\u30ed\u30c3\u30af\u3055\u308c\u305f\u30d1\u30b1\u30c3\u30c8\u3092\u30ed\u30b0\u306b<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>block in quick log proto tcp from ! &lt;japan_ips&gt; to any port 22<br>\u2191\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3067\u65e5\u672c\u4ee5\u5916\u306eIP\u3092\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002quick\u304c\u4ed8\u3044\u3066\u3044\u308b\u305f\u3081\u3001\u65e5\u672c\u4ee5\u5916\u3067\u30d6\u30ed\u30c3\u30af\u3055\u308c\u305f\u30d1\u30b1\u30c3\u30c8\u306f\u6b21\u306e\u8a55\u4fa1\u307e\u3067\u9032\u307e\u306a\u3044\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u65e5\u672c\u4ee5\u5916\u304b\u3089\u306eIP\u3092\u3059\u3079\u3066\u30d6\u30ed\u30c3\u30af\u3057\u3066\u3057\u307e\u3046\u305f\u3081\u3001\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u3082\u660e\u793a\u7684\u306b\u8a2d\u5b9a\u3057\u306a\u3051\u308c\u3070\u8a8d\u8a3c\u3055\u308c\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u79c1\u306e\u5834\u5408\u306f192.168.3.0\u3067\u3059\u304c\u3001\u74b0\u5883\u306b\u3088\u3063\u3066\u5185\u90e8IP\u306f\u3069\u3053\u3092\u8a31\u53ef\u3059\u308b\u306e\u304b\u5909\u308f\u308a\u307e\u3059\u306e\u3067\u3001\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<br>\u5148\u306b\u65e5\u672c\u306eIP\u7fa4\u3067\u30d6\u30ed\u30c3\u30af\u3057\u3066\u3057\u307e\u3046\u3068\u3001\u30ed\u30fc\u30ab\u30eb\u306eIP\u3067\u306f\u3044\u308c\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u9806\u5e8f\u3067\u30d6\u30ed\u30c3\u30af\u3059\u308b\u3053\u3068\u3092\u304a\u3059\u3059\u3081\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>table &lt;japan_ips> persist file \"\/etc\/japan-ips.txt\"\n# persist \u2192 \u30b7\u30b9\u30c6\u30e0\u518d\u8d77\u52d5\u5f8c\u3082\u30c6\u30fc\u30d6\u30eb\u5185\u5bb9\u3092\u4fdd\u6301\n\npass in quick on $int_if proto tcp from 192.168.3.0\/24 to any port 22\n# \u5185\u5411\u304dIP\u306e\u8a31\u53ef\n# \u65e5\u672c\u306eIP\u3067\u30d6\u30ed\u30c3\u30af\u3059\u308b\u524d\u306b\u884c\u3046\nblock in quick log proto tcp from !&lt;japan_ips> to any port 22\n# !&lt;japan_ips>\u3000\u2192 \u65e5\u672cIP\u30c6\u30fc\u30d6\u30eb\u306b\u542b\u307e\u308c\u306a\u3044IP\u30a2\u30c9\u30ec\u30b9\u3059\u3079\u3066\n# quick \u2192 \u5373\u5ea7\u306b\u30d6\u30ed\u30c3\u30af\u3067\u4ee5\u964d\u306e\u30eb\u30fc\u30eb\u3092\u53cd\u6620\u3057\u306a\u3044\n# log \u2192 \u30d6\u30ed\u30c3\u30af\u3055\u308c\u305f\u30d1\u30b1\u30c3\u30c8\u3092\u30ed\u30b0\u306b<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">table<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #C3E88D\">japan_ip<\/span><span style=\"color: #BABED8\">s<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">persist<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">file<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/etc\/japan-ips.txt<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># persist \u2192 \u30b7\u30b9\u30c6\u30e0\u518d\u8d77\u52d5\u5f8c\u3082\u30c6\u30fc\u30d6\u30eb\u5185\u5bb9\u3092\u4fdd\u6301<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">pass<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">in<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">quick<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">on<\/span><span style=\"color: #BABED8\"> $int_if <\/span><span style=\"color: #C3E88D\">proto<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">tcp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">from<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">192.168<\/span><span style=\"color: #C3E88D\">.3.0\/24<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">to<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">any<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">port<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">22<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u5185\u5411\u304dIP\u306e\u8a31\u53ef<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u65e5\u672c\u306eIP\u3067\u30d6\u30ed\u30c3\u30af\u3059\u308b\u524d\u306b\u884c\u3046<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">block<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">in<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">quick<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">log<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">proto<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">tcp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">from<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">!<\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #C3E88D\">japan_ip<\/span><span style=\"color: #BABED8\">s<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">to<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">any<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">port<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">22<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># !&lt;japan_ips&gt;\u3000\u2192 \u65e5\u672cIP\u30c6\u30fc\u30d6\u30eb\u306b\u542b\u307e\u308c\u306a\u3044IP\u30a2\u30c9\u30ec\u30b9\u3059\u3079\u3066<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># quick \u2192 \u5373\u5ea7\u306b\u30d6\u30ed\u30c3\u30af\u3067\u4ee5\u964d\u306e\u30eb\u30fc\u30eb\u3092\u53cd\u6620\u3057\u306a\u3044<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># log \u2192 \u30d6\u30ed\u30c3\u30af\u3055\u308c\u305f\u30d1\u30b1\u30c3\u30c8\u3092\u30ed\u30b0\u306b<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u306e\u8a2d\u5b9a\u306b\u3088\u308a\u3001<strong>\u6d77\u5916IP\u304b\u3089\u306e\u653b\u6483\u30d1\u30b1\u30c3\u30c8\u306fTCP\u63a5\u7d9a\u78ba\u7acb\u524d\u306b\u30c9\u30ed\u30c3\u30d7\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u3001CPU\u306a\u3069\u306e\u8ca0\u8377\u8efd\u6e1b<\/strong>\u304c\u898b\u8fbc\u3081\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u5916\u90e8\u304b\u3089\u306e\u5185\u90e8IP\u3078\u306e\u507d\u88c5\u5bfe\u7b56\u306f\u3001antispoof\u306a\u3069\u3067\u57fa\u672c\u7684\u306a\u3082\u306e\u306f\u3067\u304d\u307e\u3059\u304c\u3001\u3042\u304f\u307e\u3067\u90e8\u5206\u7684\u306a\u3082\u306e\u3067\u3059\u306e\u3067\u3001\u305d\u308c\u305e\u308c\u306e\u74b0\u5883\u3067\u9069\u5207\u306a\u8a2d\u5b9a\u304c\u5fc5\u8981\u306b\u306a\u3063\u3066\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>APNIC\u306e\u30c7\u30fc\u30bf\u5b9a\u671f\u53d6\u5f97<\/strong><\/p>\n\n\n\n<p>\u65b0\u898f\u4e8b\u696d\u8005\u3078\u306e\u5272\u308a\u5f53\u3066\u3084\u65e2\u5b58\u5272\u308a\u5f53\u3066\u306e\u5909\u66f4\u3084\u7d71\u5ec3\u5408\u306a\u3069\u304b\u3089\u3001\u5730\u7406\u7684IP\u5236\u9650\u3092\u6b63\u3057\u304f\u6a5f\u80fd\u3055\u305b\u308b\u305f\u3081\u306b\u306f\u3001<strong>APNIC\u30c7\u30fc\u30bf\u306e\u5b9a\u671f\u66f4\u65b0\u304c\u5fc5\u8981<\/strong>\u306b\u306a\u3063\u3066\u304d\u307e\u3059\u3002<br>\u305d\u3053\u3067\u30c7\u30fc\u30bf\u53d6\u5f97\u30fb\u5909\u63db\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\uff08IPv4\u306e\u307f\uff09\u3002<br>\u53d6\u5f97\u30fb\u5909\u63db\u6a5f\u80fd\u4ee5\u5916\u306b\u3082\u3001\u7c21\u5358\u306a\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3001PF\u30c6\u30fc\u30d6\u30eb\u66f4\u65b0\u6a5f\u80fd\u306a\u3069\u3082\u3064\u3051\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>#!\/bin\/sh\n# \/usr\/local\/bin\/update-japan-ips.sh\n# APNIC\u516c\u5f0f\u30c7\u30fc\u30bf\u304b\u3089\u65e5\u672c\u306eIP\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u3092\u53d6\u5f97\u30fb\u5909\u63db\n\nTARGETFILE=\"\/etc\/japan-ips.txt\"              \nBACKUP_DIR=\"\/var\/backups\"                   \nDATE=$(date '+%Y%m%d_%H%M%S')                 \nAPNIC_URL=\"http:\/\/ftp.apnic.net\/stats\/apnic\/delegated-apnic-latest\"  \nTMPFILE=\"\/tmp\/delegated-apnic-latest\"         \nJAPAN_BLOCKS=\"\/tmp\/japan-blocks.txt\"          \n\n# \u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u4f5c\u6210\nif &#91; -f \"$TARGETFILE\" &#93;; then\n    cp \"$TARGETFILE\" \"$BACKUP_DIR\/japan-ips.txt.backup.$DATE\"\nfi\n\n# APNIC\u30c7\u30fc\u30bf\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\nfetch -o \"$TMPFILE\" \"$APNIC_URL\"\n\nif &#91; $? -eq 0 &#93;; then\n    # \u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u30c1\u30a7\u30c3\u30af\n    FILESIZE=$(stat -f%z \"$TMPFILE\" 2>\/dev\/null || echo 0)\n    if &#91; \"$FILESIZE\" -gt 100000 &#93;; then \n        \n        grep '^apnic|JP|ipv4|' \"$TMPFILE\" | while IFS='|' read -r registry cc type start value date status; do\n            # Calc CIDR\n            case $value in\n                1) cidr=32 ;;          \n                2) cidr=31 ;;          \n                4) cidr=30 ;;        \n                8) cidr=29 ;;        \n                16) cidr=28 ;;         \n                32) cidr=27 ;;         \n                64) cidr=26 ;;         \n                128) cidr=25 ;;        \n                256) cidr=24 ;;        \n                512) cidr=23 ;;        \n                1024) cidr=22 ;;       \n                2048) cidr=21 ;;      \n                4096) cidr=20 ;; \n                8192) cidr=19 ;;\n                16384) cidr=18 ;;\n                32768) cidr=17 ;;\n                65536) cidr=16 ;;\n                131072) cidr=15 ;;\n                262144) cidr=14 ;;\n                524288) cidr=13 ;; \n                1048576) cidr=12 ;;\n                2097152) cidr=11 ;; \n                4194304) cidr=10 ;; \n                8388608) cidr=9 ;; \n                16777216) cidr=8 ;;  \n                *) \n                    # \u4e0a\u8a18\u4ee5\u5916\u306f\u5bfe\u6570\u8a08\u7b97\u3067CIDR\u7b97\u51fa\n                    cidr=$(echo \"32 - l($value)\/l(2)\" | bc -l | cut -d. -f1)\n                    ;;\n            esac\n            echo \"$start\/$cidr\"       \n        done > \"$JAPAN_BLOCKS\"\n        \n        # \u62bd\u51fa\u7d50\u679c\u306e\u691c\u8a3c\u3068PF\u30c6\u30fc\u30d6\u30eb\u66f4\u65b0\n        BLOCK_COUNT=$(wc -l &lt; \"$JAPAN_BLOCKS\")\n        \n        # \u30c7\u30fc\u30bf\u6570\u30c1\u30a7\u30c3\u30af\n        if &#91; \"$BLOCK_COUNT\" -gt 50 &#93;; then  \n            mv \"$JAPAN_BLOCKS\" \"$TARGETFILE\"\n            \n            # pf\u306e\u66f4\u65b0\n            pfctl -t japan_ips -T replace -f \"$TARGETFILE\" 2>\/dev\/null\n            if &#91; $? -ne 0 &#93;; then\n                # \u66f4\u65b0\u5931\u6557\u6642\n                if &#91; -f \"$BACKUP_DIR\/japan-ips.txt.backup.$DATE\" &#93;; then\n                    cp \"$BACKUP_DIR\/japan-ips.txt.backup.$DATE\" \"$TARGETFILE\"\n                    pfctl -t japan_ips -T replace -f \"$TARGETFILE\" 2>\/dev\/null\n                fi\n            fi\n        else\n            rm \"$JAPAN_BLOCKS\"\n        fi\n        \n        rm \"$TMPFILE\"\n        \n    else\n        rm \"$TMPFILE\"\n    fi\nfi\n\n# 30\u65e5\u4ee5\u4e0a\u306e\u53e4\u3044\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\u306e\u524a\u9664\nfind \"$BACKUP_DIR\" -name \"japan-ips.txt.backup.*\" -mtime +30 -delete 2>\/dev\/null<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\">#!\/bin\/sh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \/usr\/local\/bin\/update-japan-ips.sh<\/span><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># APNIC\u516c\u5f0f\u30c7\u30fc\u30bf\u304b\u3089\u65e5\u672c\u306eIP\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u3092\u53d6\u5f97\u30fb\u5909\u63db<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">TARGETFILE<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/etc\/japan-ips.txt<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">              <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">BACKUP_DIR<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/var\/backups<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">                   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">DATE<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">date<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">+%Y%m%d_%H%M%S<\/span><span style=\"color: #89DDFF\">&#39;)<\/span><span style=\"color: #BABED8\">                 <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">APNIC_URL<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">http:\/\/ftp.apnic.net\/stats\/apnic\/delegated-apnic-latest<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">TMPFILE<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/tmp\/delegated-apnic-latest<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">JAPAN_BLOCKS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\/tmp\/japan-blocks.txt<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">          <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u4f5c\u6210<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-f<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TARGETFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">cp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TARGETFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$BACKUP_DIR<\/span><span style=\"color: #C3E88D\">\/japan-ips.txt.backup.<\/span><span style=\"color: #BABED8\">$DATE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># APNIC\u30c7\u30fc\u30bf\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">fetch<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-o<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TMPFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$APNIC_URL<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> $? <\/span><span style=\"color: #89DDFF\">-eq<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">0<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u30c1\u30a7\u30c3\u30af<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    FILESIZE<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">stat<\/span><span style=\"color: #C3E88D\"> -f%z <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TMPFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">2&gt;<\/span><span style=\"color: #C3E88D\">\/dev\/null <\/span><span style=\"color: #89DDFF\">||<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #F78C6C\">0<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$FILESIZE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-gt<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">100000<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #FFCB6B\">grep<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">^apnic|JP|ipv4|<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TMPFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">while<\/span><span style=\"color: #BABED8\"> IFS<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">|<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #82AAFF\">read<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-r<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">registry<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">cc<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">type<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">start<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">value<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">date<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">status<\/span><span style=\"color: #89DDFF\">;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">do<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #464B5D; font-style: italic\"># Calc CIDR<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #89DDFF; font-style: italic\">case<\/span><span style=\"color: #BABED8\"> $value <\/span><span style=\"color: #89DDFF; font-style: italic\">in<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                1<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=32 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">          <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                2<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=31 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">          <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                4<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=30 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                8<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=29 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                16<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=28 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                32<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=27 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                64<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=26 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">         <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                128<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=25 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                256<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=24 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                512<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=23 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                1024<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=22 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">       <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                2048<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=21 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">      <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                4096<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=20 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                8192<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=19 <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                16384<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=18 <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                32768<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=17 <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                65536<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=16 <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                131072<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=15 <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                262144<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=14 <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                524288<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=13 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                1048576<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=12 <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                2097152<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=11 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                4194304<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=10 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                8388608<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=9 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                16777216<\/span><span style=\"color: #89DDFF\">)<\/span><span style=\"color: #BABED8\"> cidr=8 <\/span><span style=\"color: #89DDFF\">;;<\/span><span style=\"color: #BABED8\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                <\/span><span style=\"color: #89DDFF\">*)<\/span><span style=\"color: #BABED8\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                    <\/span><span style=\"color: #464B5D; font-style: italic\"># \u4e0a\u8a18\u4ee5\u5916\u306f\u5bfe\u6570\u8a08\u7b97\u3067CIDR\u7b97\u51fa<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                    cidr<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">32 - l(<\/span><span style=\"color: #BABED8\">$value<\/span><span style=\"color: #C3E88D\">)\/l(2)<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">bc<\/span><span style=\"color: #C3E88D\"> -l <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #FFCB6B\">cut<\/span><span style=\"color: #C3E88D\"> -d. -f1<\/span><span style=\"color: #89DDFF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                    <\/span><span style=\"color: #89DDFF\">;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #89DDFF; font-style: italic\">esac<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$start<\/span><span style=\"color: #C3E88D\">\/<\/span><span style=\"color: #BABED8\">$cidr<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">       <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">done<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$JAPAN_BLOCKS<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #464B5D; font-style: italic\"># \u62bd\u51fa\u7d50\u679c\u306e\u691c\u8a3c\u3068PF\u30c6\u30fc\u30d6\u30eb\u66f4\u65b0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        BLOCK_COUNT<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">$(<\/span><span style=\"color: #FFCB6B\">wc<\/span><span style=\"color: #C3E88D\"> -l <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$JAPAN_BLOCKS<\/span><span style=\"color: #89DDFF\">&quot;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #464B5D; font-style: italic\"># \u30c7\u30fc\u30bf\u6570\u30c1\u30a7\u30c3\u30af<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$BLOCK_COUNT<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-gt<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">50<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><span style=\"color: #BABED8\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #FFCB6B\">mv<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$JAPAN_BLOCKS<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TARGETFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #464B5D; font-style: italic\"># pf\u306e\u66f4\u65b0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #FFCB6B\">pfctl<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-t<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">japan_ips<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-T<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">replace<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-f<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TARGETFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">2&gt;<\/span><span style=\"color: #C3E88D\">\/dev\/null<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> $? <\/span><span style=\"color: #89DDFF\">-ne<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">0<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                <\/span><span style=\"color: #464B5D; font-style: italic\"># \u66f4\u65b0\u5931\u6557\u6642<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                <\/span><span style=\"color: #89DDFF; font-style: italic\">if<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#91;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">-f<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$BACKUP_DIR<\/span><span style=\"color: #C3E88D\">\/japan-ips.txt.backup.<\/span><span style=\"color: #BABED8\">$DATE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#93;;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF; font-style: italic\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                    <\/span><span style=\"color: #FFCB6B\">cp<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$BACKUP_DIR<\/span><span style=\"color: #C3E88D\">\/japan-ips.txt.backup.<\/span><span style=\"color: #BABED8\">$DATE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TARGETFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                    <\/span><span style=\"color: #FFCB6B\">pfctl<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-t<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">japan_ips<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-T<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">replace<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-f<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TARGETFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">2&gt;<\/span><span style=\"color: #C3E88D\">\/dev\/null<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">            <\/span><span style=\"color: #FFCB6B\">rm<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$JAPAN_BLOCKS<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #FFCB6B\">rm<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TMPFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">        <\/span><span style=\"color: #FFCB6B\">rm<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$TMPFILE<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF; font-style: italic\">fi<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># 30\u65e5\u4ee5\u4e0a\u306e\u53e4\u3044\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30d5\u30a1\u30a4\u30eb\u306e\u524a\u9664<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">find<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\">$BACKUP_DIR<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-name<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">japan-ips.txt.backup.*<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-mtime<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">+30<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-delete<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">2&gt;<\/span><span style=\"color: #C3E88D\">\/dev\/null<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u5b9f\u884c\u6a29\u9650\u3092\u4e0e\u3048\u3066\u3001\u30af\u30ed\u30f3\u3067\u5b9a\u671f\u7684\u306b\u56de\u3059\u3088\u3046\u306b\u3057\u305f\u3089\u5b8c\u6210\u3067\u3059\u3002\u3042\u3068\u306f\u81ea\u52d5\u7684\u306b\u66f4\u65b0\u3092\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># chmod +x \/usr\/local\/bin\/update-japan-ips.sh\n\n# crontab -e\n0 2 * * 0 \/usr\/local\/bin\/update-japan-ips.sh<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># chmod +x \/usr\/local\/bin\/update-japan-ips.sh<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># crontab -e<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">0<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">2<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #BABED8\">*<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #BABED8\">*<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">0<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">\/usr\/local\/bin\/update-japan-ips.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u904b\u7528\u30c1\u30a7\u30c3\u30af<\/strong><\/p>\n\n\n\n<p>\u5b9f\u969b\u306b\u6b63\u5e38\u306b\u5730\u7406\u7684\u306b\u30d6\u30ed\u30c3\u30af\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br>\u4eca\u56de\u306f\u79c1\u304c\u666e\u6bb5\u4f7f\u3063\u3066\u3044\u308bPC\uff08Arch Linux\uff09\u306bTOR\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066TOR\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u6d77\u5916IP\u304b\u3089\u306e\u63a5\u7d9a\u30c6\u30b9\u30c8\u3092\u884c\u3044\u307e\u3059<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$ sudo pacman -S tor torsocks\n$ sudo systemctl start tor\n\n$ torsocks curl https:\/\/httpbin.org\/ip\n{\n  \"origin\": \"37.114.50.142\"\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">sudo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">pacman<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-S<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">tor<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">torsocks<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">sudo<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">systemctl<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">start<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">tor<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">torsocks<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">curl<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">https:\/\/httpbin.org\/ip<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #FFCB6B\">&quot;origin&quot;<\/span><span style=\"color: #82AAFF\">:<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">37.114.50.142<\/span><span style=\"color: #89DDFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u306eIP\u30a2\u30c9\u30ec\u30b9\u306f\u30c9\u30a4\u30c4\u306e\u3082\u306e\u306a\u306e\u3067\u3001\u5143\u306e\u65e5\u672c\u306eIP\u30a2\u30c9\u30ec\u30b9\u304b\u3089\u6b63\u5e38\u306b\u5909\u66f4\u3055\u308c\u3066\u304a\u308a\u3001\u6d77\u5916IP\u3067\u306e\u30c6\u30b9\u30c8\u74b0\u5883\u304c\u6574\u3063\u305f\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$ torsocks ssh -l hoge hogehoge.hoge-hoge.net -i id_ed25519_client\n1756448417 ERROR torsocks&#91;10366&#93;: General SOCKS server failure (in socks5_recv_connect_reply() at socks5.c:527)\nssh: connect to host bokumin45.server-on.net port 22: Connection refused<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">torsocks<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ssh<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-l<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">hoge<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">hogehoge.hoge-hoge.net<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-i<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">id_ed25519_client<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">1756448417<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ERROR<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">torsocks&#91;<\/span><span style=\"color: #F78C6C\">10366<\/span><span style=\"color: #C3E88D\">&#93;:<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">General<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">SOCKS<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">server<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">failure<\/span><span style=\"color: #BABED8\"> (in <\/span><span style=\"color: #C3E88D\">socks5_recv_connect_reply<\/span><span style=\"color: #89DDFF\">()<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">at<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">socks5.c:527<\/span><span style=\"color: #BABED8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">ssh:<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">connect<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">to<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">host<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">bokumin45.server-on.net<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">port<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">22<\/span><span style=\"color: #C3E88D\">:<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">Connection<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">refused<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u6d77\u5916IP\u304b\u3089\u306e\u63a5\u7d9a\u304c\u6b63\u5e38\u306b\u30d6\u30ed\u30c3\u30af\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u5bfe\u3057\u3066\u901a\u5e38\u306e\u65e5\u672cIP\u304b\u3089\u306eSSH\u63a5\u7d9a\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u6b63\u5e38\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u305f\u3081\u3001\u5730\u7406\u7684\u5236\u9650\u304c\u9069\u5207\u306b\u52d5\u4f5c\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># \u65e5\u672c\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\n$ ssh -l hoge hogehoge.hoge-hoge.net -i id_ed25519_test\n                 _ov\n             .,HH'            #o\n            ?&amp;MM?.,oooo__     `MH\\\n           |R6M&amp;RMH&amp;9MMMMHb.  ,MMM|\n           |6MHMGHMHMM&amp;M9MH6HMHHMM}\n            MHMHMHMH6MH6MRMHMMHMP'\n           iHSD6HMHMHH&amp;MHMMMMMH'\n          oMHMMHMMHM$RM9MHM9M?'\n     -v_ |9&amp;RHRMMHMHMHH96MMMM!\n    \\_ \"\\:HHHDM9H&amp;M&amp;kM&amp;6HMHMH\n .  `\"qod' `?*MH&amp;R6M6MRMMMH'\n `+&amp;oo$PHbd##|``H9HHHMHHM!\n         H9HMb\\_d9MHH6M9M?\n         #&amp;MHM9M&amp;HH&amp;MMHHMM,\n          \"^*HHRM96M&amp;M9MMML\n             `MRHMHHMMMRMM?\n             ,RMHHMMMHMMMM,\n              H&amp;RM&amp;6MHMMHMk\n               HMHMH6MHMMMMb_\n              _H&amp;H96RMR6M[*MM#o\\_\n    ,\/:-:)&amp;9&amp;*#&lt;MH9HHMHHHM, \"\"**HHHH#o\\_.\n    >?:\\?d?_:\/v?ZMHHHHRMM9D        `\"\"\"*HH#.\n       '''-\\|?\\RM&amp;&amp;##+*\"\"`         .db ._HMF\n                               oo#HMHMMMMM?\n                               `'\"' '\n\n====================================================\n  PRIVATE SYSTEM - AUTHORIZED ACCESS ONLY\n====================================================\nEnter passphrase for key 'id_ed25519_client': \n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># \u65e5\u672c\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">$<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">ssh<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-l<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">hoge<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">hogehoge.hoge-hoge.net<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-i<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">id_ed25519_test<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">                 <\/span><span style=\"color: #FFCB6B\">_ov<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">             <\/span><span style=\"color: #82AAFF\">.<\/span><span style=\"color: #BABED8\">,HH<\/span><span style=\"color: #FFCB6B\">&#39;            #o<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">            ?&amp;MM?.,oooo__     `MH\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">           |R6M&amp;RMH&amp;9MMMMHb.  ,MMM|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">           |6MHMGHMHMM&amp;M9MH6HMHHMM}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">            MHMHMHMH6MH6MRMHMMHMP&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">           <\/span><span style=\"color: #FFCB6B\">iHSD6HMHMHH<\/span><span style=\"color: #89DDFF\">&amp;<\/span><span style=\"color: #FFCB6B\">MHMMMMMH<\/span><span style=\"color: #FFCB6B\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">          oMHMMHMMHM$RM9MHM9M?&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">     <\/span><span style=\"color: #FFCB6B\">-v_<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #FFCB6B\">9<\/span><span style=\"color: #89DDFF\">&amp;<\/span><span style=\"color: #FFCB6B\">RHRMMHMHMHH96MMMM!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">    <\/span><span style=\"color: #FFCB6B\">\\_<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">\\:HHHDM9H&amp;M&amp;kM&amp;6HMHMH<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\"> .  <\/span><span style=\"color: #89DDFF\">`<\/span><span style=\"color: #FFCB6B\">&quot;qod&#39; <\/span><span style=\"color: #89DDFF\">`?*<\/span><span style=\"color: #C3E88D\">MH<\/span><span style=\"color: #89DDFF\">&amp;<\/span><span style=\"color: #FFCB6B\">R6M6MRMMMH&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\"> `+&amp;oo$PHbd##|``H9HHHMHHM!<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">         H9HMb\\_d9MHH6M9M?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">         #&amp;MHM9M&amp;HH&amp;MMHHMM,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">          &quot;^*HHRM96M&amp;M9MMML<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">             `MRHMHHMMMRMM?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">             ,RMHHMMMHMMMM,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">              H&amp;RM&amp;6MHMMHMk<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">               HMHMH6MHMMMMb_<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">              _H&amp;H96RMR6M[*MM#o\\_<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">    ,\/:-:)&amp;9&amp;*#&lt;MH9HHMHHHM, &quot;&quot;**HHHH#o\\_.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">    &gt;?:\\?d?_:\/v?ZMHHHHRMM9D        `&quot;&quot;&quot;*HH#.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">       &#39;&#39;&#39;-\\<\/span><span style=\"color: #C3E88D\">|?<\/span><span style=\"color: #BABED8\">\\R<\/span><span style=\"color: #C3E88D\">M<\/span><span style=\"color: #89DDFF\">&amp;&amp;<\/span><span style=\"color: #464B5D; font-style: italic\">##+*&quot;&quot;<\/span><span style=\"color: #89DDFF\">`<\/span><span style=\"color: #FFCB6B\">         .db ._HMF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">                               oo#HMHMMMMM?<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">                               <\/span><span style=\"color: #89DDFF\">`<\/span><span style=\"color: #FFCB6B\">&#39;&quot;&#39;<\/span><span style=\"color: #C3E88D\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">====================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">  PRIVATE SYSTEM - AUTHORIZED ACCESS ONLY<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">====================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C3E88D\">Enter passphrase for key <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">id_ed25519_client<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">: <\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u304a\u308f\u308a\u306b<\/strong><\/p>\n\n\n\n<p>\u4eca\u56de\u306fAPNIC\u306e\u30c7\u30fc\u30bf\u3092\u6d3b\u7528\u3057\u3066FreeBSD + PF\u3067\u5730\u7406\u7684\u306a\u30a2\u30af\u30bb\u30b9\u5236\u9650\u3092\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u3053\u306e\u624b\u6cd5\u306b\u3088\u308a\u3001\u6d77\u5916\u304b\u3089\u306e\u4e0d\u6b63\u306aSSH\u63a5\u7d9a\u8a66\u884c\u3092\u5927\u5e45\u306b\u524a\u6e1b\u3067\u304d\u3001\u30b5\u30fc\u30d0\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5411\u4e0a\u3068\u30ea\u30bd\u30fc\u30b9\u7bc0\u7d04\u304c\u671f\u5f85\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3057\u304b\u3057\u3001\u5927\u91cf\u306eIP\u30ea\u30b9\u30c8\u3092\u51e6\u7406\u3057\u306a\u3044\u3068\u3044\u3051\u306a\u3044\u90e8\u5206\u304c\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3078\u5f71\u97ff\u3059\u308b\u53ef\u80fd\u6027\u3082\u3042\u308b\u306e\u3067\u3001\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002\u79c1\u306e\u5834\u5408\u306f\u57fa\u672c\u7684\u306bIPv4\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u306e\u3067\u3001IP\u306e\u30ea\u30b9\u30c8\u3092IPv4\u306e\u307f\u3067\u7d5e\u3063\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001APNIC\u306e\u30c7\u30fc\u30bf\u306b\u5b8c\u5168\u306b\u4f9d\u5b58\u3057\u3066\u3057\u307e\u3046\u5f62\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u306e\u3067\u3001\u5730\u7406\u7684\u30d6\u30ed\u30c3\u30af\u306b\u5b8c\u5168\u306b\u4f9d\u5b58\u305b\u305a\u3001\u516c\u958b\u9375\u3092\u4f7f\u3063\u305f\u308aFail2ban\u306a\u3069\u306e\u30b7\u30b9\u30c6\u30e0\u3082\u7a3c\u50cd\u3055\u305b\u3066\u591a\u5c64\u9632\u5fa1\u3092\u3059\u308b\u3053\u3068\u3067\u5805\u7262\u306a\u30b5\u30fc\u30d0\u306b\u306a\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u601d\u3046\u3088\u3046\u306b\u3046\u307e\u304f\u8a2d\u5b9a\u304c\u3067\u304d\u306a\u3044\u6642\u306f\u3001tcpdump\u306a\u3069\u306e\u30b3\u30de\u30f3\u30c9\u3067\u3001\u3069\u3053\u3067\u8a70\u307e\u3063\u3066\u3044\u308b\u304b\u30fb\u4f55\u304c\u539f\u56e0\u304b\u63a2\u308a\u306a\u304c\u3089\u884c\u3046\u3068\u3044\u3044\u306e\u3067\u53c2\u8003\u306b\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u307e\u305b<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#babed8;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># 22\u756a\u30dd\u30fc\u30c8\u30c1\u30a7\u30c3\u30af\ntcpdump -n -e -ttt -i pflog0 port 22<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #464B5D; font-style: italic\"># 22\u756a\u30dd\u30fc\u30c8\u30c1\u30a7\u30c3\u30af<\/span><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">tcpdump<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-n<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-e<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-ttt<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">-i<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">pflog0<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">port<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #F78C6C\">22<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>\u8a71\u306f\u5909\u308f\u308a\u307e\u3059\u304c\u3001Wyse3040\u306f\u304b\u306a\u308a\u7701\u96fb\u529b\u6027\u304c\u9ad8\u304f\u3001FW\u30b5\u30fc\u30d0\u306b\u5411\u3044\u3066\u3044\u308b\u3068\u601d\u3044\u307e\u3059\u3002TDP\uff14W\u3067\u52d5\u304f\u3057\u3001\u5c0f\u3055\u304f\u3066\u304b\u308f\u3044\u3044\u30fb\u30fb\u305f\u3060\u3001USB 3.0\u30dd\u30fc\u30c8\u304c1\u3064\u3057\u304b\u306a\u3044\u305f\u3081\u3001\u30ae\u30ac\u30d3\u30c3\u30c8\u63a5\u7d9a\u3092\u6d3b\u7528\u3067\u304d\u308b\u306e\u306f\u6700\u59272\u30dd\u30fc\u30c8\u307e\u3067\u3068\u306a\u308a\u307e\u3059\u304c\u3001\u4e00\u822c\u5bb6\u5ead\u3067\u306e\u7528\u9014\u3067\u3042\u308c\u3070\u5341\u5206\u3059\u304e\u308b\u6027\u80fd\u3067\u3059\u3002<br>Raspberry Pi\u3067\u3044\u3044\u3058\u3083\u3093\u3063\u3066\u601d\u3046\u65b9\u304c\u3044\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u3053\u306ePC\u306e\u5927\u304d\u306a\u30e1\u30ea\u30c3\u30c8\u306fx86-64\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u63a1\u7528\u3057\u3066\u3044\u308b\u3053\u3068\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001FreeBSD\u306a\u3069\u306e\u672c\u683c\u7684\u306a\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30ebOS\u304c\u52d5\u4f5c\u3057\u3001ARM\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3067\u306f\u5229\u7528\u3067\u304d\u306a\u3044\u591a\u304f\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3082\u554f\u984c\u306a\u304f\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<br>\u5e74\u9593\u96fb\u6c17\u4ee3\u30821,000\u5186\u7a0b\u5ea6\u3068\u975e\u5e38\u306b\u7d4c\u6e08\u7684\u3067\u300124\u6642\u9593\u7a3c\u50cd\u3055\u305b\u3066\u3082\u5bb6\u8a08\u3078\u306e\u8ca0\u62c5\u306f\u307b\u3068\u3093\u3069\u306a\u304f\u500b\u4eba\u7684\u306b\u304a\u3059\u3059\u3081\u306a\u30df\u30cbPC\u3067\u3059\u3002\u4e2d\u53e4\u5e02\u5834\u3067\u3082\u6bd4\u8f03\u7684\u5165\u624b\u3057\u3084\u3059\u3044\u4fa1\u683c\u5e2f\u306a\u306e\u3067\u3001\u3082\u3057\u898b\u304b\u3051\u308b\u3053\u3068\u304c\u3042\u308c\u3070\u3001\u305c\u3072\u4e00\u5ea6\u8a66\u3057\u3066\u307f\u308b\u3053\u3068\u3092\u304a\u3059\u3059\u3081\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"1280\" src=\"https:\/\/i0.wp.com\/bokumin45.server-on.net\/blog\/wp-content\/uploads\/2025\/08\/17559525080382.jpg?fit=338%2C600&amp;ssl=1\" alt=\"\" class=\"wp-image-1674\" style=\"width:auto;height:300px\" srcset=\"https:\/\/www.bokumin.org\/blog\/wp-content\/uploads\/2025\/08\/17559525080382.jpg 720w, https:\/\/www.bokumin.org\/blog\/wp-content\/uploads\/2025\/08\/17559525080382-169x300.jpg 169w, https:\/\/www.bokumin.org\/blog\/wp-content\/uploads\/2025\/08\/17559525080382-338x600.jpg 338w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n\n\n\n<p>\u304a\u308f\u308a<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Blocking IP addr except for my area with FreeBSD+PF \u306f\u3058\u3081\u306b \u73fe\u5728\u3001\u79c1\u306e\u5bb6\u3067\u306f\u4ee5\u524d\u8cfc\u5165\u3057\u305fWyse3040\u3067\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30b5\u30fc\u30d0\u3092\u69cb\u7bc9\u30fb\u7a3c\u50cd\u3055\u305b\u3066\u3044\u307e\u3059\u3002\u4ee5\u524d\u306f\u30ed\u30b0\u53ce [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1329,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[110,108,109],"tags":[137,73],"class_list":["post-1598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-firewall","category-freebsd","category-pf","tag-apnic","tag-bash"],"_links":{"self":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts\/1598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/comments?post=1598"}],"version-history":[{"count":26,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts\/1598\/revisions"}],"predecessor-version":[{"id":1849,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/posts\/1598\/revisions\/1849"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/media\/1329"}],"wp:attachment":[{"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/media?parent=1598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/categories?post=1598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bokumin.org\/blog\/wp-json\/wp\/v2\/tags?post=1598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}