2023年03月11日(土) - 19:21 | カテゴリ:
雑談
以前購入したサーバのファン軸がブレてしまい、
常時稼働させると不意に音が鳴る様になってしまった。
精神衛生上よくないので今回を機にファン交換に着手する事にした。
必要なパーツは買ってきたので、
独自規格に合致する様にコネクタのカシメから作業中。
施策を既に3回位は実施しているが連続で失敗している。
流石にそろそろ成功させて記事にしたいので3月中に終わらせたい所。
2023年02月11日(土) - 20:53 | カテゴリ:
雑談
ブログの新規記事を投稿した際、twitterへ自動的に投稿する様にしているが、
この時に利用しているAPIが2月9日か延期後の13日に停止するらしい。
収益化とBOTを締め出す為に仕方ない所もあると思うが、
筆者が利用している機能も影響を受けそうなので対策を実施中。
改修不可能と判断したら自動投稿機能を停止して、手動投稿に切り替える予定だが、
それすら禁止されそうな雰囲気なのでどうなるやら。
来週にかけてAPI利用者は大変な一週間になりそうと感じた。
2023年01月08日(日) - 21:50 | カテゴリ:
雑談
Squid 4.x以下は通信時にIPv4/IPv6の何れかを優先する”dns_v4_first”設定があったが、
Squid 5.x以上ではOSのHappy Eyeballs (RFC8305)に従い通信する様になったので、
優先を変更する設定が削除されてしまった。
OS実装に従い通信するのはアプリケーションからしたら全うな実装方法だし、
自分がプログラムを書く時も同様の実装をする事が多い。
その上で、Happy Eyeballsは発展途上な所もまだまだ多く、
基本はIPv4を選んでくれるけれど条件次第でIPv6に切り替わってしまう場合が多々発生する。
通常のアプリケーションではコレでも問題になる事はあまり無いが、
IPv6での通信を優先させつつIPv6で通信出来ない時のみIPv4で通信させたい時には問題になる。
筆者がSquidを利用する目的がまさにコレなので問題になった (´・ω・`)
Squid MLや海外の技術フォーラムを回って回避方法が無いか探したり、
ソースを読みながら試行錯誤もしたのだが、最終的にコレを解決する事は出来なかった。
Squid公式wikiにも記載されている”tcp_outgoing_address”を使う方法が良く出てくるのだが、
コレはSquid 5.xでは動作しない地雷設定となる。
Magic ACLとして宛先FQDNのDNS名前解決をして動かす意図の様だが、
前提となる”tcp_outgoing_address”を動作するす条件に合致しないのでトラフィック分散が機能しない。
squid.conf.documentにも書いてある通り、
“tcp_outgoing_address”は送信元アドレスかユーザ認証Proxy時のユーザ名でのみ動作する。
その為、wikiに書いてある様な宛先FQDNのAAAAレコード有無で通信先を切り替える事が出来ない。
DNSキャッシュサーバでDNS応答レコードを細工してAAAAレコードとDNS64に変換する手法もあるが、
サーバ用途でDNS応答を改ざんすると他サーバの挙動にも影響が出そうなのでやらない方が良い。
DNS64はNAT64も必要なのでハードルが高い上、
IPv6からIPv4へ通信する時にアドレス変換を挟むので通信自体への影響が大きい。
それなら、Happy Eyeballsの挙動をLinux Kernelでチューニングする方法も考えたのだが、
該当しそうなパラメータがLinux Kernelに見当たらなかったのであきらめた。
最新のソースコードを読めば追加オプションが出てきそうだが、
筆者環境のサーバでKernelビルドは開発環境以外はやらない様にしたので結果として使えない。
他にもPACファイルを使ってDNS名前解決を応用しつつ振り分ける手法も検証してみたが、
どれも上手くいかず没になった。
WindowsにNICを追加してIPv4とIPv6でそれぞれ通信出来る様にもしてみたが、
何故かIPv4を優先して通信してしまいやりたい事が出来なかった。
NICを1本にしてデュアルスタックにする事も手だったのだが、
匿名IPv6の扱いとかも設計する必要が出てきたので同様に没に。
そもそも、サーバと端末のNW設計を変更する必要が出てくるので簡単に出来るレベルではなかった。
普通の用途ならHappy Eyeballsに従う実装で問題無いが、
筆者環境ではIPv6を優先する動きに固定したかった為、諦めてSquid 4.xへダウングレードする事にした。
いつかはアップグレードをする必要はあるが、ちゃんと設計してからの方が良さそうなので、
バックボーンを大幅アップグレードする時の課題にしようと思う。
« 続きを隠す