2006年05月16日

LinuxでのタグVLANの利用 〜 vconfigの使い方

はてなブックマークに登録

スイッチ間で VLAN-ID をやりとりするために利用されることが多いタグVLANですが、Linuxルータ上から直接利用することで、LANケーブルのタコ足を解消することができます。まあ、「L3スイッチ使うからいいもん」という方は軽く流してやって下さい(笑
ただ、LinuxnetfilterVLAN間のフィルタ制御ができるのは魅力に感じます。

vconfigdebianではvlanパッケージに含まれているので、


apt-get install vlan



これで、さくっとインストールできます。
使い方も非常にシンプルで、


vconfig add デバイス名 VLAN-ID



とするだけです。
例えば、


vconfig add eth0 1



とすると、eth0.1 というインターフェイスが作られ、VLAN-ID=1 のタグ付きパケットはここから出入り出来るようになります。些細なことですが、VLANタグ付きのパケットが eth0.* から出入りしている様子を最初に目の当たりにした時には、なぜかえらく感動したものです。(笑)

例によって debian では、/etc/network/interfacesiface bond0.1 inet static なエントリを記述しておくと /etc/network/if-pre-up.d/vlan が良きに計らってくれるので、テスト目的以外で vconfigを実行する機会はほとんどないかもしれませんね。

この構成は netfilter と組み合わせる事で真価を発揮します。
VLANを分けたのはいいけど、ここからあそこにはアクセスさせたい」というニーズは比較的多いのではないでしょうか。例えば、VLAN1からVLAN2には繋がらないが、VLAN2からVLAN1には繋がるようにしたいというニーズがあれば、以下のようにします。


iptables -F FORWARD
iptables -P FORWARD DROP
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -i eth0.2 -o eth0.1 -j ACCEPT




さらに、VLAN1からVLAN2上のWebServerへのHTTPだけは通したいというニーズもあるならば、以下のようにします。


iptables -F FORWARD
iptables -P FORWARD DROP
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -i eth0.2 -o eth0.1
iptables -A FORWARD -j ACCEPT -i eth0.1 -o eth0.2 -d WebServer -p tcp --dport 80



ポリシールーティングやブリッジ等と組み合わせると、もっと楽しい事ができそうです。
klab_gijutsu2 at 16:11│Comments(0)TrackBack(0)

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント