アーカイブ

‘Linux’ カテゴリーのアーカイブ

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 タグ: , ,

3TB HDD/4Kセクタ に関するえとせとら

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

最近は Western Digital の 3TB (3TiB) HDD WD30EZRX がものすごい安価(1万切って 9700 〜 9900 円くらい 下手すると特売で9000円きることも)で売っていて、手頃だしバイト単価も安くていいので これに手を出すわけです。

でも、この HDD って 4kセクタな上に単体で2TBをこえてるので いろいろあるわけですよ。

とりあえずメモ的に2点。

hanzubon.jp の mirror 用ストレージは areca の arc-1680 という SATA/SAS RAIDカードにぶら下がって構成されています。(その他のarecaのカード含めてのようですが)、最新の firmware (version 1.49)に更新してないと 3TiB な HDD を正常に認識しません。

接続されているのは、認識するんですが容量が0.0GBと表示されて まったく使えません(わら

1.49 まで上げてあるつもりで、つないだんですが 最初そんな状態になって ちょっと焦りました。

逆にいうと、1.49 にあげたところ 正常に認識され いまのところ特に問題もなく利用できています。

もう一点、いままでめんどくさいので避けてきた 4k セクタの話。

とりあえず、Linux的には周辺のブツ(fdisk とか parted)とかが すでにそのあたりを意識してくれるようになってるんで、深く考えずに Go しても大丈夫なんですね いまどきは(わら

2TB 以下の HDD であれば、DOS mbr でいけるんで fdisk でパーティションきれば 勝手に適当にアラインメントとってくれるようです。fdisk の表示上も物理セクタ/論理セクタのサイズをちゃんと認識してくれて表示してくれるようになっています、いつのまにか。

2TBを超える場合は GPT でということになりますが、こっちも parted でやってやればさくっといけます。あらかじめ mklabel gpt してある前提で


parted --align=min --script /dev/sdX mkpart primary ext2 0 100%

みたいなことをすれば、parted が「ぉい alignment できてねぇぞ その指定だと一番近い alignmentできてる開始位置はここだ」と教えてくれるので、その指示にしたがって先頭を指定するのがいいようです。

(追記)
こんなことしなくても –align=opt してパーティションきるのが正解?
おしえてエラい人(わら

以上、雑記的メモでした。

hanzubon.jp 止めてました

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

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

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

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

ASUS P8B-E/L4 と SandyBridge Xeon E3

2011 年 4 月 12 日 コメントはありません

hanzubon.jp のマシンを ASUS P8B-E/L4 と Xeon E3-1230 にしてみました。

以下、罠的なこととか。

マニュアルには記述がありますが DDR3 unbuffered ECCでしか動作しません。non-ECC のメモリだと POST 中にハングアップしてしまって、BIOSの画面さえ出てきません。というか、beep の類もいっさい鳴らないので 最初は故障かと思いました…(気づかないで 初期不良かと思って、TSUKUMOのサポートに持ち込んでしまって数日無駄に…(わら マニュアルはちゃんと読みましょう)

Linux的には特にハマるようなデバイスは特に載ってません(オンボードのグラフィックチップがASPEEDなので、X動かすのはあれかも? まぁ、このマザボでXなんか動かさないよね)。

ファームがまだ若干バギーなのかドライバのバグなのか以下のような現象がおきています(kernel のバージョンは 2.6.38.2)

on boardのSATAをAHCIモードで使っていて、6Gbps出る 2つのport(port-1/port2)にそれぞれ、Intel X25-M G2 よく確認したら G1 でした… と crucial RealSSD C300がつながっています。この状態だと X25-M の方の probe に失敗して 1.5Gpbs でリンクしてしまいます。こんな感じ。

追記(2011/4/16) C300 をとっぱらってみたが、状況はかわらず。


[ 4.819416] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 4.819969] ata2.00: ATA-9: C300-CTFDDAC128MAG, 0006, max UDMA/100
[ 4.820218] ata2.00: 250069680 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 4.820722] ata2.00: configured for UDMA/100
[ 9.867447] ata1: link is slow to respond, please be patient (ready=0)
[ 14.559486] ata1: COMRESET failed (errno=-16)
[ 19.943519] ata1: link is slow to respond, please be patient (ready=0)
[ 24.584554] ata1: COMRESET failed (errno=-16)
[ 29.968591] ata1: link is slow to respond, please be patient (ready=0)
[ 59.599795] ata1: COMRESET failed (errno=-16)
[ 59.600038] ata1: limiting SATA link speed to 1.5 Gbps
[ 59.904800] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 59.905330] ata1.00: ATA-7: INTEL SSDSA2MH080G1GC, 045C8820, max UDMA/133
[ 59.905581] ata1.00: 156301488 sectors, multi 16: LBA48 NCQ (depth 31)
[ 59.906051] ata1.00: configured for UDMA/133
[ 59.906455] scsi 0:0:0:0: Direct-Access ATA INTEL SSDSA2MH08 045C PQ: 0 ANSI: 5

4つのetherをbondingしていますが(モードは802.3ad)、なぜかNICの一つだけがResetしまくります(数秒おきとかいう感じで)。ちょっと思いつきで irqbalance 入れてつついたら、おさまったので なにか irq まわりがおかしい?思い過ごしだったっぽい。なにかをトリガにおさまることはあるようだけど、irqbalance ではなかったようだ…

[ 337.166262] e1000e 0000:07:00.0: eth3: Reset adapter
[ 337.259625] bonding: bond0: link status down for interface eth3, disabling it in 200 ms.
[ 337.459610] bonding: bond0: link status definitely down for interface eth3, disabling it
[ 339.997657] e1000e: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 340.059614] bonding: bond0: link status up for interface eth3, enabling it in 200 ms.
[ 340.259616] bonding: bond0: link status definitely up for interface eth3, 1000 Mbps full duplex.
[ 346.166012] e1000e 0000:07:00.0: eth3: Reset adapter
[ 346.260572] bonding: bond0: link status down for interface eth3, disabling it in 200 ms.
[ 346.460579] bonding: bond0: link status definitely down for interface eth3, disabling it
[ 348.976582] e1000e: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 349.060557] bonding: bond0: link status up for interface eth3, enabling it in 200 ms.
[ 349.260555] bonding: bond0: link status definitely up for interface eth3, 1000 Mbps full duplex.
[ 355.166157] e1000e 0000:07:00.0: eth3: Reset adapter
[ 355.260477] bonding: bond0: link status down for interface eth3, disabling it in 200 ms.
[ 355.460479] bonding: bond0: link status definitely down for interface eth3, disabling it
[ 358.360549] e1000e: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 358.460517] bonding: bond0: link status up for interface eth3, enabling it in 200 ms.
[ 358.660502] bonding: bond0: link status definitely up for interface eth3, 1000 Mbps full duplex.

(2011/5/12 追記1) kernel 2.6.39-rc7 ではこのGbEの問題は現状発生していません。

(2011/5/12 追記2) この問題以外に、ごくまれにNICの初期化自体に失敗する(? エラーは特に出ないのだけど、通信自体がいっさいできない)場合があるようです(電源投入直後かつ運が悪いと という感じ? ともかく発生したのは確かなんだけど、一度だけで再現もできないので ちょっと細かい状況まではわからないんだけども…)

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

HANZUBON.jp停止

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

HANZUBON.jp 今晩停止します 予定では20時前後から

停止中 各種mirrorの更新が止まります

mirrorに使ってるRAIDの構成変更をするので 時間かかる予定

主要mirrorは明日の昼間くらいまでにがんばる、その他は週末中には復旧するかなぁ という感じです

追記(2010/10/30 0:55):
とりあえず、主要部分は復旧したので表からアクセスできるようにしました。debian/debian-backportsは現在最新の状況にsync中(debian-volatileはdone)。その他は、まだ復旧中です。

追記(2010/10/30 10:20):
寝てる間に復旧しとりました。

カテゴリー: Debian, Linux, 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、ならき、オレという感じで移動して二次会?で終電前に解散。

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