OpenVPNで作っていた自宅アクセス用VPN回線がうまく通らなくなった(*1)ので再構築しようかと考えていた矢先、WireGuardなるものがあるのを知ったので、とりあえず試験がてら構築のメモ。
昨今コロナ禍でリモートワークが叫ばれる中、自宅にいることを証明するのが大変めんどくさいのでとりあえず自宅経由で会社に接続するというのが本当の狙い。外出先からFreeBSDとxfreerdp使ってWindowsに接続し、そこから会社内へアクセスできればラッキーかな、と。もちろん勤め先の資材と自宅のネットワークは分離し、会社とWindowsとの間は監視して余計なパケットが流れていないかは確認する。(要は会社が余計なことしでかしてないか監視するためにマジックミラーの中を歩かせたい)
まずは、利便性の観点から自宅のFreeBSDとAndroidスマートホンの接続を考える。
[1. 考え方]
・Peer to Peer、Point to point、End to end、表現はなんでもいいんだが、サーバとクライアントという関係より1対1で接続する関係。ここでは考え方を簡単にする意味合いと常時起動中のFreeBSDを境目にしてインターネット回線へ向かうため、FreeBSDをサーバ・Androidスマホをクライアントという呼び方でこの記事は統一する。(*2)
・WireGuardは秘密鍵と公開鍵の二つの鍵を使用した暗号化通信を行う。この秘密鍵(受信者が持つ)と公開鍵(発信者が持つ)の組合せにより、Peerを識別する。つまり一つのPeerは自身宛の暗号化通信を解読するためマスターキーたる秘密鍵を持ち、また相手方Peerのマスターキーだけが解読しうる暗号化を施すため相手方Peerの公開鍵を持つ。家の鍵で考えれば閉じる鍵と開く鍵は全く別で、開く鍵たる秘密鍵を元に閉じる鍵たる公開鍵を作ることができる。つまり公開鍵は複数本作ることが可能でそのための秘密鍵が管理外に持ち出されるとあとは秘密鍵の所持者宛となる通信を傍受さえできれば復号化し放題となる。
・LAN内のハード/ソフト資源にアクセスできるようにする。リモートワークだけで使うのはもったいないし、写真のデータサイズを考えるとデータの転送はすぐにでも行いたい。
[2. 必要な対処]
・WireGuardでできることはPeer to Peerなので、通常クライアント同士をただ直結した構成になってしまう。(WiFiやスイッチハブ経由ではなく、1:1のケーブル接続相当となるためこのままでは使いにくい)
なので、FreeBSDサーバより先のネットワークへアクセスできるようにしないといけない。そこでFreeBSDにデフォルトでインストールさているnatdは使用するが、Firewallによる防衛措置は今の所講じない(*3)。FreeBSDでデフォルトインストールされているFirewallとして、候補にPFやIPNWが考えられる。
[3. 準備]
・WireGuardのインストール。
本来wireguardだけでよいのだが、libqrencodeはstdinからQRコード生成が可能ということで便利なものは使っていきましょう。(*4)
root# pkg install wireguard libqrencode
[4.鍵の生成]
中身はbase64に化かした鍵。わりかし短い。
後ほど、この内容をコンフィグファイルに記載する。
server.privateはFreeBSD(サーバ)側の秘密鍵として、逆にpublicは公開鍵として。
smartphone.privateはAndroid(クライアント)側の秘密鍵として、逆にpublicは公開鍵として。
ファイル名自体は決めの話なので、とりあえず保存できればどうでもよい。
root# wg genkey > server.private
root# wg pubkey < server.private > server.public
root# wg genkey > smartphone.private
root# wg pubkey < smartphone.private > smartphone.public
[5.コンフィグの記載:サーバサイド]
まず、[Interface]の方。
Address は、VPNを設立(WireGuardを起動し1つ以上のPeerと接続)したときに使用する、サーバ側のIPアドレスを示す。(OpenVPNみたいにDHCP相当はない)
PrivateKey は Peerが送付してきたパケットを翻訳するために使用する鍵。(Public aka 公開鍵と取り違えないように)
ListenPort は、サービスの待受ポートを指定する。インターネット回線からHGWやBBルーターなどを使用してポートフォワードを行う場合はポート番号/UDPをFreeBSDへ転送する設定を忘れないこと。
続けて[Peer]の方。
PublicKey は、PeerとのVPNを設立したときにパケットを暗号化するために使用する鍵。(Private aka 秘密鍵と取り違えないように)
AllowedIP は、特にサーバサイドの場合は、接続先のPeerのIPアドレスを示す。(デフォルトルート相当の考え方に近い。ある秘密鍵を持つクライアントは1台なのでSubnetmaskは32)
ちなみに、1ファイル中[Peer]セクションは1つ以上あっても良い。その場合は使用する仮想インタフェースを共用する形になるし、[Peer]ごとにコンフィグを書き分けても良い。
root# cat __END__ > /usr/local/etc/wireguard/wg0.conf
[Interface]
Address = 192.168.254.254/32
PrivateKey = "server.private の内容"
ListenPort = 12345
[Peer]
PublicKey = "smartphone.public の内容"
AllowedIP = 192.168.254.253/32
__END__
[6.コンフィグの記載:クライアントサイド]
[Interface]の方は自身の情報を書く。ほとんどサーバサイドと変わらない。
サーバサイドと違うのはListenPortの記述は行わないことぐらい。
[Peer]のほうはサーバサイドの情報を書く。
PublicKey もサーバサイドと同じ考え方。(誤ってもさすがにクライアントサイドの鍵を書くことはないと思うが…[1敗])
AllowedIPs はデフォルトルート相当なのも変わらない。s付きなので、半角空白で複数書ける。smartphoneの場合は全てをVPN経由にするとネットワークパフォーマンスがほぼ落ちるので自宅のネットワーク範囲に合わせた設定が使いやすい。全ての通信をVPN経由にするなら0.0.0.0/0の指定にしておく。
EndPoint は例えばサーバサイドに接続するときインターネット回線経由であれば、グローバルIPアドレスとポート番号になるだろう。ポートフォワーディングが不安なうちは正直やらないほうが良いかもしれない。
ちなみに、このsmartphone.confのファイルは後でQRコード化する。
root# cat __END__ > /usr/local/etc/wireguard/smartphone.conf
[Interface]
Address = 192.168.254.253/32
PrivateKey = "smartphone.private の内容"
[Peer]
PublibKey = "server.public の内容"
AllowedIPs = 192.168.254.254/32
EndPoint = server.side.url:PORT-NUM
__END__
[・サーバサイドの設定 /etc/sysctl.conf]
net.inet.tcp.tso=0 → パケットに関する何らかの支援をCPUが行っているらしいのだが、それをOFFにする(逆かもしれない)。その処理を挟まない分速度向上が見込めるとのこと。
net.inet.ip.forwarding=1 → 必須。ネットワークゲートウェイとして動作するために必要な設定。/etc/rc.confにgateway_enable="YES"を記述しても良い。
いずれも再起動しないと有効にならないが、sysctlコマンドを使用することで、即時適用が可能。
root# vi /etc/sysctl.conf
net.inet.tcp.tso=0
net.inet.ip.forwarding=1
[EOT]
[・サーバサイドの設定 /etc/rc.conf]
具体的な説明は割愛。
root# vi /etc/rc.conf
natd_enable="YES"
natd_interface="インターネット側のNICデバイス名"
netd_flags="-dynamic"
firewall_enable="YES"
firewall_type="OPEN"
gateway_enable="YES"
wireguard_enable="YES"
wireguard_interfaces="wg0"
[EOT]
[・サービス起動]
具体的な説明は割愛。
root# service routing restart
root# service wireguard restart
[・Androidスマホへ適用]
表示されたQRコードをWireGuardアプリで読み取る。
先ほど作成したコンフィグではterminalで230列程度必要だったのでpng形式にして別の形で表示したほうが良いかもしれない。
root# qrencode -t ansiutf8 < smartphone.conf
疲れたのでここまで。
LinuxやWindowsであれば情報が腐るほどあるのでなんとかなるんじゃないかな。
暇があれば調べて追記するし、ダメそうならそのままだしみたいなヤツ。
そのうちラズパイに移設したいなあ…
[注釈]
*1: WireGuardは基本的にPoint to Point、End to End、1:1でのVPNにしか対応しない。かつL3接続が前提となる(やり方次第でL2接続相当にもできる)。OpenVPNはL2接続からL3接続をサポートし、OpenSSL等による秘密鍵/公開鍵型の暗号化をサポートする。要はVPNを維持する上で考慮しなければならない事項が多くなり、かつ証明書のデフォルトの期限が1年程度を見落としていたために一旦崩壊。最小限度で証明書を再発行し直しても最長10年のサポートにしかならない。(しかもその頃にはやり方を一切忘れているだろう、というオチ)
*2: 読み進めていけば分かるが、ただVPNを1:1で繋げるだけならそれほど難しいことはしていない。AndroidではなくFreeBSDやWindowsであったとしても対応するクライアントがあれば起動の仕方はともかくそれ以外は大して変わらないと思う。
*3: ファイアウォールは少なくともホストサイドとなるFreeBSDに設定するもののだが、①VPNを受け入れるための通常ネットワークインタフェース、②クライアントサイドへの通信ゲートとなる仮想ネットワークインタフェース、③その他別のネットワークへ接続するためのインタフェース との疎通を考えた上でファイアウォールを構築する必要があると言える。本文中では書かなかったが動的IPアドレス配下のNAT/NAPT(通常、HGWやブロードバンドルータと呼ばれるもの)配下にNAT/NAPT構成を作るからというのもあるのだが、玄関口だけは頑丈にして秘密の勝手口が疎かというのは目も当てられない。
*4: 実は参考サイトから知った。libqrencodeはQRコード化するものだが、逆にQRコードを読み取る(デコード)する同様のソフトウェアとしてzbarがある。FreeBSD 13.0-Releaseでは両方共Ports CollectionやPKGに登録がある。
☆参考サイト
FreeBSDにWireGuardをインストールしてVPN接続
https://webprog.spg-games.net/2021-03-31/freebsd%E3%81%ABwireguard%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6vpn%E6%8E%A5%E7%B6%9A/
WireGuard on FreeBSD Quick Look Part 2: Android Remote Access
https://genneko.github.io/playing-with-bsd/networking/freebsd-wireguard-android/
WireGuard で Android スマートフォンと自宅の間で VPN 回線を構築する - eggshell blue
https://robinegg.hatenadiary.jp/entry/20180813/p1#fn-f5fe5a5e
サキソフォン吹きのオッサン@兵庫県神戸市中央区北野
兵庫県神戸市は日本初のジャズのまちとして知られているらしく、神戸のまちではジャズに関連した彫刻やお店が多いとのこと。江田一郎というひとが日本初のジャズバンドを神戸で築き、解散した折に大阪でまたジャズバンドを立ち上げ、さらに東京浅草へ流れ、そこでジャズの流行が始まったと言うような話を伺った。
今回は神戸三宮の駅より北にある、かつては異人街(昔の言葉でいう外国の方)の歴史的建造物に囲まれた北野町中公園にあるサキソフォン吹きのオッサンの話。
これまで日本各地を訪ね歩いてきたサックスおじさんもこの場所で36ヶ所を超えた。黒川晃彦氏製作の彫刻もそろそろ見つけるのにそれほど苦労しなくなった感がある。
オールドファッション.ブルース
1994年
黒川晃彦1994年
(左下段)
1994
A.Crokawa
場所:34°42'03.9"N 135°11'21.9"E
https://goo.gl/maps/Zu1P6JXvmFGfbkYL8
(右上段)
コルネット吹きの休日
1993年
黒川晃彦
(右下段)
A.Crokawa
1993
場所:34°42'04.4"N 135°11'22.4"E
https://goo.gl/maps/UevPxKsQin7YYGSh8
プリーズ・リクエスト
1993年
黒川晃彦
(左下段)
1989
A.Crokawa
場所:34°42'04.6"N 135°11'22.7"E
https://goo.gl/maps/SXxGneeKv5gcfutt7
(左上段)
晴れた日に永遠が見える
1992
黒川晃彦
(左中段)
1992
A.Crokawa
(左下段)
A.Crokawa
場所:34°42'04.3"N 135°11'23.1"E
https://goo.gl/maps/2SuFhVydp7HDz38W7
プリーズ・リクエストのサックス。
AKIHICO KURIKAWA
1991
何かしらのヒントにはなるとは思うのだけれど、先程記述したとおり刻印は1989年。未来の年を入れたのは作者のみ知る謎。
神戸三宮駅から北野町中公園まで歩いたときに撮影した写真や北野町保存地区エリアなど。
☆メモ
「銭湯・奥の細道 (東北の銭湯巡り)」:http://1010meguri.blog.fc2.com/blog-entry-98.html (黒川晃彦氏の銅像設置場所をマッピングされ、数々の作品を訪問されてる先達の方)
このブログの作者が訪問した場所のまとめ
サキソフォン吹きのオッサン@兵庫県神戸市西区西神中央
場所:34°43'10.5"N 135°01'07.9"E
https://goo.gl/maps/a7aKh1T28MgTNpQq5
太陽が朝から昼に変わる事を告げる頃に写真撮影したので見事に暗い。
(クリックで拡大できます)
彫刻は全部で5体存在するが、それぞれにタイトルが振られているわけではなく、それどころかこの彫刻に対してタイトルが振られているわけではない。
(クリックで拡大できます)
それぞれのサイン左から順に下記のとおりとなる。
A.Crokawa (ハトが2羽の女性)
Akihico Crokawa 1992 (サックスを吹いているおじさん)
Akihico Crokawa (横笛吹きの少女)
A.Crokawa (ハトとサックスおじさん)
A.Crokawa (ネコ)
サックスを吹いているおじさんが1992年制作と読める以外は不明なのである。
しかも銘板が存在しているわけでもなく、設置された経緯も設置者も不明。おそらく神戸市西区が立ち上がったときに設置されたものと思われるがあくまでも私感にすぎない。
Akihico Crokawa 1992 (サックスを吹いているおじさん)
Akihico Crokawa (横笛吹きの少女)
A.Crokawa (ハトとサックスおじさん)
A.Crokawa (ネコ)
サックスを吹いているおじさんが1992年制作と読める以外は不明なのである。
しかも銘板が存在しているわけでもなく、設置された経緯も設置者も不明。おそらく神戸市西区が立ち上がったときに設置されたものと思われるがあくまでも私感にすぎない。
ネコの首輪から下がっているチャームは神戸市章を模しているとのこと。
→https://gramhir.com/media/2150603510366827758
制作時期を推定するにもう少し自身の整理不足を感じる。
2010年代前半ではYahoo!ジオシティーズや@niftyのホームページ公開スペースにて、結構なデータが存在していたらしいのだが2017年後半になると利用者減によるサービス終了も影響してWayback Machineを使用するにしても元のホームページのURLが不明ということが多い。(しかもGoogleで過去を指定して期間検索してもヒットしない)
そろそろインターネット前提の時代に自らの足を使って役場や美術館を訪ね歩きする必要があるかもしれません。
2010年代前半ではYahoo!ジオシティーズや@niftyのホームページ公開スペースにて、結構なデータが存在していたらしいのだが2017年後半になると利用者減によるサービス終了も影響してWayback Machineを使用するにしても元のホームページのURLが不明ということが多い。(しかもGoogleで過去を指定して期間検索してもヒットしない)
そろそろインターネット前提の時代に自らの足を使って役場や美術館を訪ね歩きする必要があるかもしれません。
☆メモ
「銭湯・奥の細道 (東北の銭湯巡り)」:http://1010meguri.blog.fc2.com/blog-entry-98.html (黒川晃彦氏の銅像設置場所をマッピングされ、数々の作品を訪問されてる先達の方)
このブログの作者が訪問した場所のまとめ
サキソフォン吹きのオッサン@兵庫県姫路市白銀町
姫路城、白鷺城とも言われる城下にそのオッサンはいる。
https://goo.gl/maps/ksA2qwipTkV5RZMeA
国鉄がJRという会社に分離して、また新幹線という新しい鉄路の幹線となる道を作るにつれて、寝台列車という車種は徐々に失われつつあり、今回、JR西日本が東京発・四国琴平または島根出雲市をつなぐ寝台列車に乗車する機会があったので、兵庫県は姫路市姫路駅まで乗車することができた。
2021年10月01日に新型コロナウィルス蔓延による蔓延防止対策エリアや緊急事態宣言エリアが全国的に解除されたこともあり、一応大手を振って全国を旅することはできるけれど、それでもコロナ禍が終わったわけではないので、人とは最小限度の接触のみで濃厚接触(15分以上)はオッサン始めの彫刻のみとする。
(上段)
国鉄がJRという会社に分離して、また新幹線という新しい鉄路の幹線となる道を作るにつれて、寝台列車という車種は徐々に失われつつあり、今回、JR西日本が東京発・四国琴平または島根出雲市をつなぐ寝台列車に乗車する機会があったので、兵庫県は姫路市姫路駅まで乗車することができた。
2021年10月01日に新型コロナウィルス蔓延による蔓延防止対策エリアや緊急事態宣言エリアが全国的に解除されたこともあり、一応大手を振って全国を旅することはできるけれど、それでもコロナ禍が終わったわけではないので、人とは最小限度の接触のみで濃厚接触(15分以上)はオッサン始めの彫刻のみとする。
A.Crokawa
1988
/2
(中段)
帽子を被ったら歩いてみよう
黒川晃彦
1988
/2
(中段)
帽子を被ったら歩いてみよう
黒川晃彦
(下段)
寄贈
姫路信用金庫・創立80週年記念
寄贈
姫路信用金庫・創立80週年記念
平成元年3月
ピンぼけしている、機会があったら撮り直したいな…
(クリックで拡大できます)
45度ずつ角度を変えて撮影した写真を横つなぎしてみた。
この彫刻のみであればあまり語ることはないのだが、同名の彫刻がある神奈川県海老名市(左足だけ接地)や新潟県十日町市(右踵、左つま先が接地)のものと比較してみると、ちょこちょこと違う点に気づく。
この兵庫兼姫路市にある彫刻は新潟県十日町市にある彫刻より大きく、神奈川県海老名市の彫刻の大きさに近いかもしれない。実は縦に繋いだ2つ前の写真には謎の/2の文字が刻まれており、神奈川県海老名市との共通点である左足のみの接地であり同様の台座を持つことから兄弟作であることが推定できる。
ピンぼけしている、機会があったら撮り直したいな…
(クリックで拡大できます)
45度ずつ角度を変えて撮影した写真を横つなぎしてみた。
この彫刻のみであればあまり語ることはないのだが、同名の彫刻がある神奈川県海老名市(左足だけ接地)や新潟県十日町市(右踵、左つま先が接地)のものと比較してみると、ちょこちょこと違う点に気づく。
この兵庫兼姫路市にある彫刻は新潟県十日町市にある彫刻より大きく、神奈川県海老名市の彫刻の大きさに近いかもしれない。実は縦に繋いだ2つ前の写真には謎の/2の文字が刻まれており、神奈川県海老名市との共通点である左足のみの接地であり同様の台座を持つことから兄弟作であることが推定できる。
※ただし、鳥取県倉吉市(2021年10月時未訪問)にある同名の彫刻もあることから関係性は不透明なままである。
AKIHIKO KUROKAWA
1982
撮り直したいと思うのはこのサックスに刻印された文字が不鮮明だからでもある。
右側はサックスの中身だが、なにか詰まっているみたいだが判別できない。
とりあえず再見する必要がある。
https://twitter.chttps://twitter.com/shiratama1/status/657344012278366208?s=20om/shiratama1/status/657344012278366208?s=202015年10月23日 午前8:53のツイート(@shiratama1)によると、オッサンの向いている方向は姫路城か姫路駅になっている・・・設置からいくらか変わっているらしい。
https://twitter.com/shiratama1/status/657344012278366208?s=20
https://twitter.com/shiratama1/status/657344012278366208?s=20
☆メモ
「銭湯・奥の細道 (東北の銭湯巡り)」:http://1010meguri.blog.fc2.com/blog-entry-98.html (黒川晃彦氏の銅像設置場所をマッピングされ、数々の作品を訪問されてる先達の方)
このブログの作者が訪問した場所のまとめ
https://gnshy.blogspot.com/2020/11/blog-post_74.html
サキソフォン吹きのオッサン@宮城県仙台市宮城県美術館
宮城県仙台市にある宮城県美術館。サキソフォン吹きのオッサンシリーズでは古参となる"馬上のあの人"で、東京都荒川区南千住6丁目の路上にに設置されているものと双子に当たるようだ。
https://goo.gl/maps/Foxm7BhVEGtsxMWG9
アリスの庭という場所にある。美術館駐車場から向かうなら北庭に向かう途中で通ることになるだろう。

アリスの庭という場所にある。美術館駐車場から向かうなら北庭に向かう途中で通ることになるだろう。
この彫刻自体を見学するにあたって特に見学料は不要なのだが、興味がわかなくても見学してみるのは思ったより見識が拡がるのでオススメだ。こういう展示もそうだが、図書館を始め、美術館や博物館はその土地の歴史を知るために少しでも協力する気持ちもあるので、1600円の見学料を収めさせていただいた。
さて、オッサンである。タイトルの通り、全裸でサックスを吹き馬にまたがる姿はいつもどおりの光景だ。
(中段)
1981 Akihico Crokawa(下段)
馬上のあのひと
Man Riding a Horse
馬上のあのひと
Man Riding a Horse
1981
黒川晃彦
黒川晃彦
Akihiko KUROKAWA
ぐるっと一周してみる。
腹の出たオッサンが主題というだけでも個人的にはグッと来るものがある。ほとんどの彫刻は女性であったり子供であったりすることが多い。
☆メモ
「銭湯・奥の細道 (東北の銭湯巡り)」:http://1010meguri.blog.fc2.com/blog-entry-98.html (黒川晃彦氏の銅像設置場所をマッピングされ、数々の作品を訪問されてる先達の方)
このブログの作者が訪問した場所のまとめ
登録:
コメント (Atom)
-
各記事へのリンクなど。 下記の内容については 追加した理由 を参照してください。 2025/11 2025/10 2025/09 2025/08 2025/07 2025/06 2025/05 2025/04 2025/0...