【2012-02-01】Linuxゲートウェイモードで有線LANと無線LANの共有セグメントをLAN内で接続する
同社のインターネット行動管理製品は、シリアルゲートウェイモードで有線イーサLANおよび無線イーサLANをサポートしているが、現在の実装では有線LANと無線LANのサブネットアドレスが重ならず、有線LANと無線LANの間で同じセグメントの通信が実現できない.その後、システムカーネルの同僚の助けを得て、有線LANと無線LANを同じセグメントに分割して相互通信を実現する方法を見つけた.
考え方は簡単です.bridgeポートを仮想化し、対応する有線LANと無線LANをこの仮想bridgeポートにバインドし、このbridgeポートにアドレスを割り当て、他のサブネットマイクロマシンはゲートウェイをbridgeポートのアドレスに配置すればいいのです.もちろん、デバイスがゲートウェイモードなので、ルーティングやnatも必要です.デバイス自体がブリッジモードであれば、ルーティングとnatは節約できます.
brctl addbr bridge
brctl addif bridge eth0
brctl addif bridge ath0
ifconfig eth0 0.0.0.0
ifconfig bridge 10.0.0.1 netmask 255.255.255.0 up
iptables-t nat-A POSTRIOUTING-o eth 1-j SNAT--to 192.168.2.173を追加
有線とワイヤレスの両方を10.0.0に設定します.*ネットセグメントは、ネット上の隣人を通じてアクセスできます.
もちろん、Linuxがブリッジモードで動作する場合は、ブリッジツールbridge-utilsをインストールし、コマンドを実行する必要があります.
yum install bridge-utils
またはbridge-utils-1.4をダウンロードする.tar.gzはインストールを行い、手順は以下の通りです.
コンパイルインストールbridge-utils
(1)/usr/srcディレクトリの下に入り、bridge-utils-1.4をダウンロードする.tar.gz :
(2)解凍:
bridge-utils-1.4ディレクトリに入ります.
(3)コンパイルインストール:
configureファイルを生成するには、次の手順に従います.
コンパイルインストールが完了しました.最後にコマンドbrctlを/sbinにコピーします.
===================================================================================================================================
以下は参考になる記事です.
ホストが5台あります.1台のホストにはlinuxが装着され、ブリッジモジュールがインストールされ、4つの物理ネットワークカードがあり、同じセグメントの他のホストに接続されています.他の4台のホスト(IPはそれぞれ192.168.1.2192.168.1.3192.168.1.3192.168.1.4192.168.168.1.4192.168.1.5)間でパケットを転送するブリッジになることを望んでいます.また、管理を容易にするために、ブリッジにIP(192.168.1.1)があることを望んでいます.そうすれば、管理者は192.168.1.0/24セグメント内のホスト上でtelnetをブリッジに配置し、遠隔管理を実現することができます.
前節では,ブリッジは同じ論理セグメントでパケットを転送する.上記のトポロジに対して、この論理セグメントは192.168.1.0/24セグメントである.私たちはこの論理ネットワークセグメントの名前、br 0です.まず、このような論理セグメントを構成する必要があります.
#brctl addbr br 0(br 0という論理セグメントを作成)
実際には、論理セグメント192.168.1.0/24をVLANと見なすことができ、br 0はこのVLANの名前である.
論理セグメントを確立した後、このセグメントに特定のポートを割り当てる必要があります.Linuxでは、1つのポートが実際には物理ネットワークカードです.各物理NICの名前はeth 0,eth 1,eth 2,eth 3です.各NICをbr 0というセグメントに接続し、br 0のポートとして使用する必要があります.
#brctl addif br 0 eth 0(eth 0をbr 0のポートにする)#brctl addif br 0 eth 1(eth 1をbr 0のポートにする)#brctl addif br 0 eth 0(eth 2をbr 0のポートにする)#brctl addif br 0 eth 3(eth 3をbr 0のポートにする)
ブリッジの各物理ネットワークカードはポートとして混在モードで動作し、リンク層で動作するため、IPは必要ありません.
# ifconfig eth0 0.0.0.0 # ifconfig eth1 0.0.0.0 # ifconfig eth2 0.0.0.0 # ifconfig eth3 0.0.0.0
次にbr 0の仮想NICにIP:192.168.1.1を構成します.そうすれば、ブリッジをリモートで管理できます.
# ifconfig br0 192.168.1.1
br 0にIPを配置すると,ブリッジが動作する.192.168.1.0/24セグメント内のホストはtelnetからブリッジ上で構成できます.
以上の構成は1つの論理セグメントであり,実際にはLinuxブリッジも複数の論理セグメント(スイッチで複数のVLANを分割することに相当)に構成できる.
もう一つの理解に役立つ文章http://blog.sina.com.cn/s/blog_53689eaf0100wbwd.html
===========================================================================================================
[root@xenserver ~]# brctl --help Usage: brctl [commands] commands: addbr add bridge delbr delete bridge addif add interface to bridge delif delete interface from bridge setageing
考え方は簡単です.bridgeポートを仮想化し、対応する有線LANと無線LANをこの仮想bridgeポートにバインドし、このbridgeポートにアドレスを割り当て、他のサブネットマイクロマシンはゲートウェイをbridgeポートのアドレスに配置すればいいのです.もちろん、デバイスがゲートウェイモードなので、ルーティングやnatも必要です.デバイス自体がブリッジモードであれば、ルーティングとnatは節約できます.
brctl addbr bridge
brctl addif bridge eth0
brctl addif bridge ath0
ifconfig eth0 0.0.0.0
ifconfig bridge 10.0.0.1 netmask 255.255.255.0 up
iptables-t nat-A POSTRIOUTING-o eth 1-j SNAT--to 192.168.2.173を追加
有線とワイヤレスの両方を10.0.0に設定します.*ネットセグメントは、ネット上の隣人を通じてアクセスできます.
もちろん、Linuxがブリッジモードで動作する場合は、ブリッジツールbridge-utilsをインストールし、コマンドを実行する必要があります.
yum install bridge-utils
またはbridge-utils-1.4をダウンロードする.tar.gzはインストールを行い、手順は以下の通りです.
コンパイルインストールbridge-utils
(1)/usr/srcディレクトリの下に入り、bridge-utils-1.4をダウンロードする.tar.gz :
- #cd /usr/src
- #wget http://launchpad.net/bridgeutils/
- main/1.4/+download/bridge-utils-
- 1.4.tar.gz
(2)解凍:
- #tar zxvf bridge-utils-1.4.tar.gz
bridge-utils-1.4ディレクトリに入ります.
- #cd bridge-utils-1.4
(3)コンパイルインストール:
- #autoconf
configureファイルを生成するには、次の手順に従います.
- #./configure
- #make
- #make install
コンパイルインストールが完了しました.最後にコマンドbrctlを/sbinにコピーします.
- #cp/usr/local/sbin/brctl/sbin
===================================================================================================================================
以下は参考になる記事です.
ホストが5台あります.1台のホストにはlinuxが装着され、ブリッジモジュールがインストールされ、4つの物理ネットワークカードがあり、同じセグメントの他のホストに接続されています.他の4台のホスト(IPはそれぞれ192.168.1.2192.168.1.3192.168.1.3192.168.1.4192.168.168.1.4192.168.1.5)間でパケットを転送するブリッジになることを望んでいます.また、管理を容易にするために、ブリッジにIP(192.168.1.1)があることを望んでいます.そうすれば、管理者は192.168.1.0/24セグメント内のホスト上でtelnetをブリッジに配置し、遠隔管理を実現することができます.
前節では,ブリッジは同じ論理セグメントでパケットを転送する.上記のトポロジに対して、この論理セグメントは192.168.1.0/24セグメントである.私たちはこの論理ネットワークセグメントの名前、br 0です.まず、このような論理セグメントを構成する必要があります.
#brctl addbr br 0(br 0という論理セグメントを作成)
実際には、論理セグメント192.168.1.0/24をVLANと見なすことができ、br 0はこのVLANの名前である.
論理セグメントを確立した後、このセグメントに特定のポートを割り当てる必要があります.Linuxでは、1つのポートが実際には物理ネットワークカードです.各物理NICの名前はeth 0,eth 1,eth 2,eth 3です.各NICをbr 0というセグメントに接続し、br 0のポートとして使用する必要があります.
#brctl addif br 0 eth 0(eth 0をbr 0のポートにする)#brctl addif br 0 eth 1(eth 1をbr 0のポートにする)#brctl addif br 0 eth 0(eth 2をbr 0のポートにする)#brctl addif br 0 eth 3(eth 3をbr 0のポートにする)
ブリッジの各物理ネットワークカードはポートとして混在モードで動作し、リンク層で動作するため、IPは必要ありません.
# ifconfig eth0 0.0.0.0 # ifconfig eth1 0.0.0.0 # ifconfig eth2 0.0.0.0 # ifconfig eth3 0.0.0.0
次にbr 0の仮想NICにIP:192.168.1.1を構成します.そうすれば、ブリッジをリモートで管理できます.
# ifconfig br0 192.168.1.1
br 0にIPを配置すると,ブリッジが動作する.192.168.1.0/24セグメント内のホストはtelnetからブリッジ上で構成できます.
以上の構成は1つの論理セグメントであり,実際にはLinuxブリッジも複数の論理セグメント(スイッチで複数のVLANを分割することに相当)に構成できる.
もう一つの理解に役立つ文章http://blog.sina.com.cn/s/blog_53689eaf0100wbwd.html
===========================================================================================================
[root@xenserver ~]# brctl --help Usage: brctl [commands] commands: addbr