2024-01-01から1年間の記事一覧
何となく知りたくなったので、JPNIC管理下で、APNICが逆引きの管理を行っているIPv4アドレス一覧 - JPNIC この中で1048576(0x100000)以上の大きさのものをどこの会社が持っているのか調べてみました。全部で14個あります。大きい順(大きさが同じなら若い…
IPv4 over IPv6トンネリングを使うと、IPv6しか使えない環境から、IPv4/IPv6どちらも使える環境(VPSなど)を経由してIPv4でインターネットに出ていくことができます。 今回は別にIPv4が使えなかったわけではないのですがこれを試してみました。 リモート側…
OpenWRTなどLinuxを使用してMAP-E(v6プラス、OCNバーチャルコネクトなど)接続を行う方法は様々なサイトで紹介されていますが、iptablesやnftables(バックで動いているのはnetfilter)のNATでは使用ポート範囲を複数(1000-2000, 3000-4000みたいな感じで…
TCPでは、自分から接続を切断する際に、外向きのFIN(+ACK)→内向きのFIN+ACK→最後の外向きのACK、という順でパケットがやりとりされます。この外向きのACKを送ったあとしばらくはソケットを使い回さないようにTIME_WAITという状態が設定されます(理由は他…
ドキュメント読んでもわかりづらいのでメモを残しておきます。 2024/4現在、GCPの無料枠(Free Tier)ではメモリ1GBくらいの仮想マシンを永久無料で使えることになっていますが、これに割り当てられる外部IPv4アドレス(インターネットと接続するために必要…
概要 モバイルPCなどでは、盗難のリスクがあるため、機密性の高いユーザーデータはディスク上に平文で保存せず、適切に暗号化した状態で保存することが望ましいといえます。ただ、復号のために専用のパスワードを入力するような方法は手間がかかるため、この…
概要 ネットワーク上の制約を回避するためにプロキシやVPNのような類のものを使用するにあたって、(必ずしもそれ自体ではプロキシなどに対応していない)特定のアプリケーションを対象に、またTCPだけでなくUDPにも対応したいということがあると思います。 …
sshサーバーなど、多くのユーザーが1つのオペレーティングシステムを共用するマルチユーザー環境では、TCP/UDPのようなポートを使用するアプリケーションを起動するとそれは他のユーザーからもアクセスできるようになります。これはセキュリティ的に望ましく…
概要 Linuxのcgroup機能とは、プロセスをグループに分けて管理し、その単位ごとにCPU/メモリの割り当て等の設定を可能にするものです。 cgroupのサブシステムにはcpu, memoryなどの他にnet_clsというものがあり、これを使うと指定したグループからのパケット…
概要 LinuxでNATなどを担当するiptablesやnftables(中身はnetfilter)の機能では、一つのパケットに2回以上SNATあるいはDNATをかけることはできません。SNATでもDNATでも、パケットにNATをかけると一度決まったらそのパケットのNATに関する処理はそこで完了…
概要 この記事では、P2P通信の快適性などに大きく影響するところでありつつ、メーカー・プロバイダ側からそれほど積極的に情報が提供されているとは言えないNAT機器の動作について、よくある誤解をいくつか取り上げて解説します。 NAT動作に関する前提知識(…
概要 LinuxではNATやファイアウォールなどのパケットの扱いを担当するカーネルの機能としてnetfilterというものが搭載されており、特にそのconnection trackingの機能を理解することがLinuxのNAT動作の理解には不可欠です。また、安価な市販ルーターの多くは…
概要 Linuxのファイアウォール(パケットフィルタ)は、内部的にはLinuxカーネルのnetfilterという機能が担っています。iptablesやnftablesはnetfilterを操作するフロントエンドで、ufwはiptablesやnftableを操作するさらに上位のフロントエンドです。また、…
概要 NAT動作をめぐる誤解まとめ - turgenev’s blogでは、UDPホールパンチングのしやすさとポートの節約を両立するには「Address Dependentなマッピングを保持しつつEIM風に動作するADFなNAT」が一番いいという話を書きました。これだとv6プラスやOCNバーチ…
概要 この記事では、NAT(NAPT)を行う機器の動作タイプの分類、およびそれと密接に関連する話題として、ポートの枯渇を防止するためのいわゆる「ポートセービングIPマスカレード」の手法とUDPホールパンチングについて解説します。 NAT(NAPT)(あるいはIPマ…