アーカイブ

‘Debian’ タグのついている投稿

Debianなマシンで IPv6 bridge

2012 年 7 月 19 日 コメントはありません

すでにだいぶ経ってますが、ここにメモってなかったので駄文。

引っ越してフレッツ光ネクストに切り替えたんでフレッツ光ネクスト上で提供されているIPv6接続サービスが利用できるようになりました。接続形態にはIPv4 と同じような PPPoE を使った接続と IPoE 接続 (とか書くとなんのこっちゃだけどネイティブ方式と呼ばれてた要は Etherでそのままつながってます方式)があるわけですが、余計なもの(PPPoEのトンネル)がはさまらない分 IPoE の方がレイテンシなどで有利なわけで、当然こっちを選択して接続しました。ISPにはIIJmioのFiberAccess/NFを選択。

なお、IPoEでの接続に関しては「ひかり電話を契約しているかどうか」によってネットワーク側の挙動が少し変わってきます。ここの説明が非常に詳しくてわかりやすいので興味がある方は見てみましょう。

さて、hanzubon.jp NOCにはひかり電話は導入されていません。ということで、ここの説明にあるように RAで取得した64bit長のprefixを使ってネットワークを構成することになります、RAを受け取ってごにょごにょして再広告するようなことをしてもいいんですが面倒だし特にメリットもないように思うのでRAをそのまま中でも受け取って動くようにIPv6ブリッジを作ってみることにしました(ひかり電話契約がある場合は、上記の記事で説明があるようにIPv6ルータを用意した方が楽しいように思います)。

仙石さんの昔の記事が大変参考になります。というか、ここに解説されてる通りに設定すれば(おおむね) OK です(わら ただし、ここの記事の最後に記述がありますが、現在ではすでにip6tablesにもphysdevモジュールが実装されてますので、ここでやっているようなebtablesでマークしてもげもげするような方法ではなくphysdevモジュールを使う方法をとってみることにします。

以下、ONU側につながっているインタフェースを eth0、内側のその他のサーバ類等々ぶら下がっているセグメント側のインタフェースをeth1とします。

まずは単純にbridgeを作成します。bridgeの操作にはbridge-utilsが必要なのでインストールしといてください。あとは、ebtablesとip6tables(はiptablesパッケージに入ってます)も使いますので入ってなければ入れておきましょう。

apt-get install bridge-utils ebtables iptables

/etc/network/interfaces には以下のように記述して br0 という名前で bridge インタフェースを作成します。

auto br0
iface br0 inet manual
      bridge_ports eth0 eth1

これだけです。さて、上記で bridge はできますが このままだとあらゆるパケットが通ってしまう状態になってしまうんでIPv6なパケットのみが通過するようにebtablesでフィルタしておきます。コマンドとしてはこう(注: bridgeインタフェースがひとつしかない前提でインタフェースの指定してないので 複数あるような場合は適宜 -i br0 とか指定してくださいな)

ebtables -t broute -P BROUTING DROP
ebtables -t broute -I BROUTING -p IPv6 -j ACCEPT

以下雑ですがこんな感じのスクリプトにして /etc/if-up.d/ipv6bridge とかいう名前にでもして放り込んでおくと、br0インタフェースがupした時に上記のフィルタが実行されると思います。

#!/bin/sh

[ "$IFACE" != "br0" ] && exit 0

ebtables -t broute -P BROUTING DROP
ebtables -t broute -I BROUTING -p IPv6 -j ACCEPT

exit 0

これで、IPv6 bridge の作成はおしまいです。ifup br0 とでもすれば br0 が有効になって内側のセグメントにもRAが流れ始めて(各マシンで RA を受け取って autoconfig するようにしてあれば) IPv6 で通信できるようになるはずです。

ただ、この状況だと各マシンにはIPv6のグローバルアドレスがそのままふられますしなんのフィルタもないので、うちから外へのパケットが通るのと同じく外から内へのパケットも自由自在に通りますので(わら 内側のセグメントのマシンにもアクセスし放題になります。

ということで、ふつーなんらかのフィルタをしたくなるだろうと思います。例えばこんな感じにします。

ip6tables -N v6-in
ip6tables -N v6-out

ip6tables -A FORWARD -i br0 -m physdev --physdev-in eth0 -j v6-in
ip6tables -A FORWARD -i br0 -m physdev --physdev-in eth1 -j v6-out

ip6tables -A v6-in -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A v6-in -j DROP

ip6tables -A v6-out -j ACCEPT

最初の2行で v6-in と v6-out というchainを新たに作成しています(あとで、フィルタを消すようなときに楽だからなだけ)。

キモはその次の2行です。bridge に対して physdev モジュールを使って実際にパケットが入ってくるインタフェースを識別した上でそれぞれのルールセットのchainにjumpさせます(仙石さんの記事ではこの部分の処理を ebtables でつけた mark で行なっています)。

あとは、v6-inとv6-outに適宜必要なルールをてきとーに追加してやれば動作します(上記の例だと外向きのパケットは全部素通し、内向きは特定のstateのパケット以外は全部DROPします)。

ip6tables-save なりで save しておいて読み込ませるなり、スクリプトにするなり 適当に準備してどこかで設定するようにしましょう(オレはipv6filterとかいう名前のスクリプトにして/etc/network/if-up.dに放り込んであります)

というあたりで、特になにか目新しいことがあるわけじゃないですがこんな感じでIPv6 bridgeが作れます。

市販のいわゆるブロードバンドルータにもIPv6ブリッジ機能があるものがありますが安いもの(家電量販店とかで売っているようなもの)だと、IPv6パケットのフィルタリングができるようなものは現状皆無のようなので、ちょっと遊ぶだけならいいんですが実用的にはちょっと厳しいんじゃないかと思われます(というあたりも、IPv6 の一般家庭への普及の阻害要因の一つなんじゃないかなぁと思ったりします)。

カテゴリー: Debian, IPv6, Linux タグ: , , , , , ,

hanzubon.jp というか JP Debian mirror 停止予告

2012 年 2 月 9 日 コメントはありません

日本時間の2012/2/15(水) 8:00〜の予定で hanzubon.jp 大森NOCの移転が行われます。

これに伴い以下の時間帯ネットワークが止まる/サーバ類の移設が発生するので、各種サービスが止まります。

もちろん JP debian mirror も止まっちゃうのでよろしく(わら

停止予定: 2012/2/14(火) 20:00〜2012/2/15(水)20:00 (いずれも日本標準時)

JP Debian push mirror primary server on hanzubon.jp will be stopped at 2012/2/14 20:00 JST to 2012/2/15 20:00 JST because HANZUBON.JP network and servers will be moved to another place.

カテゴリー: Debian, Linux, misc タグ: , , ,

debian mirror 関連のログを @debianmirrorjpへ

2011 年 11 月 19 日 コメントはありません

主にミラーの動作チェックのために 簡単なログを irc のとあるチャネルに流してたんだけど いろいろ都合が悪くなったので twitter の @debianmirrorjp へ流すように変更してみた(つもり)

カテゴリー: Debian, Linux, misc タグ: , ,

hanzubon.jp 止めてました

2011 年 7 月 16 日 コメントはありません

「debian mirror のストレージの構成 HDD 一本あたりの容量あげて本数減らしたいなー だれか HDD おごってくれないかなー(わら」と tweet したら、ありがたいことにほんとにnakanotにおごっていただけたので ゆうべから 構成変更作業をしてました。

データ自体は debian-cd 以下を除いて復旧/更新済です。

カテゴリー: Debian, Linux タグ: , ,

Debian 6.0.0

2011 年 2 月 7 日 コメントはありません

Debian 6.0.0 予告通り出た。

国内のミラーは今朝(2011/2/6)9:17ころのリリース直後に投げられたpushトリガで既に更新済み。

isoはhanzubon.jpのは今 生成中。jaistにはあるかも?

追記: 2011/2/6 19:02 JST 時点ですが jaist の iso ミラー 終わってないですね、まだ

カテゴリー: misc タグ: , ,

Debian push mirror delay の集計

2010 年 10 月 19 日 コメントはありません

とりあえず、現状やっつけで見づらいわけだけど

Debian mirror

Debian backports mirror

Debian volatile mirror

の push mirror の各サーバでの mirror にかかった時間とかミラーが
行われた時刻を集計してみることにした。

集計の更新頻度は現状30分おき。

なお、ここに出てこない国内のmirrorサーバは「push mirrorではない」
ので、ftp-master等でのtreeの更新が実際にそのmirrorサーバに伝搬する
のは、一般的に push mirror より大幅に遅れます。

ftp.jp.debian.org や cdn.debian.net は、これらの push mirror サーバをたばねた CDN に使われてるホスト名です。まとめると、現状 Debian の apt line として利用する場合は、

  • 通常は ftp.jp.debian.org を使えばいい具合にしてくれる
  • httpでの利用のみであれば cdn.debian.netを使うといい
  • どーーーしても個別のミラーホストを指定したい人は、これらの push mirror サーバを指定する(ただし hanzubon.jp 以外を推奨)
  • それ以外を指定しても、あまりいいことはない

となります(以上誤解をうみそうなので追記)

ちなみに、2010/10/11からdebian-volatileの更新がないっす。
なぜだろか…

追記1:
Ar-に「jsonでひっぱれるようなデータ用意シレ」と言われたので、

debian|debian-backports|debian-volatile

で取れるようにしました。

debian-volatile mirror 復活

2010 年 5 月 7 日 コメントはありません

なんか どーも push signal こねぇな と思ってたら、ルータで塞いでいました…orz

ということで、signal くるのを確認したので復活したはず。

どーも すいません(わら

カテゴリー: Debian, Linux タグ: , , , ,

たんきよ忘年会2009

2009 年 12 月 20 日 コメントはありません

昨日は、たんきよで毎年恒例の忘年会でした。

久しぶりの参加のひともちらほら、新しく参加の人も何人か。
うかいさんのおくさんに初めて会いましたが、なかなか面白い人でした。

その後、nnnの知ってる店に だいすけ、まくつ、nnn、ならき、オレという感じで移動して二次会?で終電前に解散。

これが終わると、なんだかようやく年末が近づいてきた気がします。

keitairc-2.0b12

2009 年 9 月 25 日 コメントはありません

keitairc 2.0b12をリリースしました。

なんもなければ、このまま2.0になる予定。

2.0出すのにどんだけかかってんだとかいうツッコミはしないように(わら

b11からiPhone/iPod touch UIを大幅に修正してそれなりに使えるようになってる
ので、iPhoneユーザで古いもの使ってるような人は新しいのにしたほうがいいです。

今回はなんとなくdebianパッケージも置きました。

ダウンロードはこのあたりから。

rsync の –delay-updatesを拡張(したい)

2009 年 4 月 19 日 コメントはありません

Debian mirrorの更新って、ミラー中もアクセスしても整合性がとれてるように、
ざっくりいうと次みたいな流れになっている。

  1. pool/以下を–deleteなしでrsync
  2. 全体を–after-deleteありrsync

(正確には dists/以下の特定パターンのファイルがあとで更新されること、
ファイルの削除が最後に消されることが条件だけど、まぁ細かいことは
考えなくてもいい、ここでは)

で、なにが言いたいかいうと、結局都合2回rsyncがかかるのと、1回目と2回目に
同じディレクトリのトラバーサルが走るので、まぁなんつーか若干効率が悪い
わけです。

でだ、一方 rsync には –deley-updates というオプションがあります。

これは取り合えずファイルを別の位置にどばーっととってきておいて、
実際のファイルの更新は最後にまとめてやりますよ というオプション。

一般的にリモートからローカルの転送には時間がかかるけど、ローカルでの
renameは比較的短時間で済むので、ツリー全体の不整合な時間を
ある程度減らせますよ というためのものですね(もちろん、atmicには
なりません)。

でね、この –deley-updatesオプションの動作を拡張するなり、
別のオプション(例えば –deley-update-patternとかいうオプション
を新設がいいんじゃね? という気がしている)して、「指定したパターンに
合致したファイル/ディレクトリのみ、delay-update する」とかできると、
Debian mirror 的には rsync 一発でいけるようになるので、ちょっと
うれしいんじゃねぇか? とか思いました。

誰かやる人?(わら
(自分でやれといわれそうだな(わら)

カテゴリー: Debian, Linux, opensource タグ: , , , ,