それら2つが互いに中継もされず運用されているにも関わらず、
1つのPCから両方にアクセスしたいというような
わけの分からない要求があるとします。
PCにある2つのNICをそれぞれのネットワークにつなげても、
サブネットが同じなのでIPアドレスの系がかぶり、まともにルーティングできないのですが、
いろいろ制約があるもののUbuntu 14.04でブリッジを使い
実現できたので書き残しておきます。
最初に以下を実行してブリッジが使えるようにします。
# apt-get install bridge-utils次いで設定ファイル"/etc/networks/interfaces"に以下の内容を追加します。
iface eth0 inet manual iface eth1 inet manual auto br0 iface br0 inet dhcp bridge_ports eth0 eth1ここでは2つのNICであるeth0とeth1をまとめてブリッジbr0としています。
なお、双方のサブネットにDHCPサーバが存在すると、
どちらからIPアドレスをもらってくるか不定になってしまうため、
そういう場合は手動でIPアドレスを設定するのがよいでしょう。
iface br0 inet dhcpの行を以下のように置き換えます。
IPアドレス等は環境に合わせ適宜読み替えてください。
iface br0 inet static address 192.168.1.100 netmask 255.255.255.0 bridge_ports eth0 eth1 gateway 192.168.1.1 broadcast 192.168.1.255 network 192.168.1.0さらにDSNサーバの設定のため"/etc/resolv.conf"も書き換えたいところですが、
Ubuntu14.04では起動時に自動生成されてされてしまうので、
"/etc/resolvconf/resolv.conf.d/base"に
nameserver <DSNサーバのIPアドレス>の行を追加して、
# resolvconf -uを実行するのが正しい解決法です。
さて、この状態だとこのUbuntu PCがeth0とeth1を中継して
理論的に1つの大きなネットワークになってしまいます。
それが嫌な場合は以下を実行します。
# ebtables -P FROWARD DROPPC起動時からそうしたい場合は
設定スクリプトファイル"/etc/network/if-pre-up.d/bridge"の
if [ "$MODE" = "start" ] ; thenの行の直後に
ebtables -P FROWARD DROPの行を追加しておけば実現できます。
もし両方に同じIPアドレスの機器が存在すると面倒なことになりますし、
他にも何か問題が発生するかもしれませんので、
TCP/IPについてよく理解してから試すことをお勧めします。
0 件のコメント:
コメントを投稿