2011-12-16 4 views
5

新しいApache仮想ホストへの2番目のSSL証明書を実装するために、Linux(debian)マシンに2番目のIPアドレスを追加しました。発信トラフィックをeth0ではなくeth0にバインドします。

当社ifconfigは次のようになります。

eth0  Link encap:Ethernet Hardware Adresse 00:0c:29:1b:ab:6c 
      inet Adresse:999.999.999.39 Bcast:999.999.999.63 Maske:255.255.255.192 
      inet6-Adresse: (...)/64 Gültigkeitsbereich:Verbindung 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 
      RX packets:219336884 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:223169420 errors:0 dropped:0 overruns:0 carrier:0 
      Kollisionen:0 Sendewarteschlangenlänge:1000 
      RX bytes:1971307659 (1.8 GiB) TX bytes:713489565 (680.4 MiB) 

eth0:1 Link encap:Ethernet Hardware Adresse (...) 
      inet Adresse:999.999.999.40 Bcast:999.999.999.63 Maske:255.255.255.192 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 

問題:すべての送信トラフィック(外部DBサーバへのMySQLの接続は、Postfixからの発信SMTP接続が)今はeth0経由残しているようだ:1、したがって、第二(新)IP 999.999.999.40。

発信トラフィックをeth0、IPアドレス999.999.999.39で強制的に残すことはできますか?ルートの

出力:

[n1 ~ #] route 
Kernel-IP-Routentabelle 
Ziel   Router   Genmask   Flags Metric Ref Use Iface 
localnet  *    255.255.255.192 U  0  0  0 eth0 
10.10.10.0  *    255.255.255.0 U  0  0  0 eth1 
default   gateway4.XXX 0.0.0.0   UG 0  0  0 eth0 
default   gateway4.XXX 0.0.0.0   UG 0  0  0 eth0 

見つかりソリューション:あなたのヒントのための

おかげで、ip routeは、必要に応じて、今では動作しますが、移動するための方法でした。

ip rule add from 999.999.999.39 table t1 
ip rule add from 999.999.999.40 table t2 
ip route del default via 999.999.999.1 
ip route add default 999.999.999.1 dev eth0 table t1 
ip route flush cache 
+0

にこれを追加あなたは 'のIP route'の出力をしてください追加することはできますか? – fge

+1

eth0:1は実際にはインターフェースではありません(ifconfig-stopであなた自身の利益のために使っていることに気を配っています)。 –

+0

私はあなたを正しく理解しましたか?複数のIPを持つ1つのサーバーがあります。複数のVirtualhostを持つApacheがあります。それは私のような問題があるように見えます。あなたは私のケースを見ることができますか?それが同じであれば、あなたの解決策によってもたらされる変更が回復可能ですか? http://serverfault.com/questions/511793/how-configure-apache-virtual-hosts-to-different-ips-for-outgoing-connection – BASILIO

答えて

4

私はあなたがどのようにルーティングパケットをするようにシステムに指示するrouteコマンドを使用してプレイしていると思います。 1つのインターフェース:eth0のを使用するAPACHE_VHOST_IPの宛先にパケットを強制的に

route add -net APACHE_VHOST_IP netmask 255.255.255.0 dev eth0:1 

:よう 何か。 eth0インターフェイスを使用するMYSQL_SERVER_IPの宛先にパケットを強制的に

そして

route add -net MYSQL_SERVER_IP netmask 255.255.255.0 dev eth0 

+0

これにより、すべてのターゲットIPを定義することが賢明になります。それ?私はすべての発信トラフィックを強制的にeth0にしたいと思います。 eth0:1は実際にはただ聞く必要があります – MiDo

+0

eth0へのデフォルトルートを定義します –

+0

それは既にあるようです(質問の 'route'の出力を追加しました) – MiDo

0

/etc/sysconfig/network

GATEWAYDEV=eth0 

default gatewayeth0へのインタフェース

関連する問題