0

として、私は次のセットアップがありますOpenStackの中性子 - VM同じテナント内の2つのネットワーク間のルータ

VM1 --- NET1を--- --- VM2 NET2 --- VM3

VM2することができますVM1とVM3の両方にpingを実行します。しかし、VM1からVM3にpingを行うと、パケットはVM2によって転送されますが、VM3に到達することはありません(tcpdumpはVM2のNET2インターフェイスからパケットが送信されることを示しているため、NET2によって破棄されます)。

VM3からVM1にpingを実行する場合も同じです。パケットはVM2に到達し、VM2はそれらをV1に転送しますが、VM1には到達しません。

NET2はNET1のsrcIPのパケットを通過させないようです。 NET2のsrcIPでパケットをフィルタリングするNET1と同じです。

これは、ヒートテンプレートで各ネットワークを作成する方法です。

net1: 
    type: OS::Neutron::Net 
    properties: 
     name: net1_name 

net1_subnet: 
    type: OS::Neutron::Subnet 
    properties: 
    network_id: { get_resource: net1 } 
    cidr: { get_param: net1_cidr } 

ルータとして動作するVM2経由でNET1からNET2へパケットを流す方法はありますか?

ありがとうございます!

==========更新====

私は解決策を見つけたように見えます:ポートの「allowed_address_pairs」にVM1とVM3のIPアドレスを追加する(中性子:ポート) VM2の

VM2_left_port: 
    type: OS::Neutron::Port 
    properties: 
     allowed_address_pairs: [{"ip_address": { get_param: VM3_IP}}] 
     network: ... 
     fixed_ips: ... 

VM2_right_port: 
    type: OS::Neutron::Port 
    properties: 
     allowed_address_pairs: [{"ip_address": { get_param: VM1_IP }}] 
     network: ... 
     fixed_ips: ... 

ネットワーク間のルーティング(VM2をルータとして使用する)が正しい方法であるかどうかは疑問です。

答えて

0

ACCEPT ACCEPT -j ESTABLISHED彼は問題は実際にOpenstackの "port_security"機能で、あるサブネットから別のサブネットへのトラフィックをブロックしていました。サブネット間でパケットが流れるようにするために、私が質問で提案したアプローチ( "allowed_address_pairs")の代替として、次のオプションを使用できます。

VM2_left_port: 
    type: OS::Neutron::Port 
    properties: 
     security_groups: [] 
     port_security_enabled: False 
     network: ... 
     fixed_ips: ... 

VM2_right_port: 
    type: OS::Neutron::Port 
    properties: 
     security_groups: [] 
     port_security_enabled: False 
     network: ... 
     fixed_ips: ... 
0

私は、VM2の2つのネットワークインターフェイス間の相互通信を許可すると思います。

エコー1>は、/ proc/sys/net/IPv4の/ ip_forward

sudoのiptablesの-tのnat -A POSTROUTING -o eth0の-j

にsudoのiptables -A FORWARD -i eth0のマスカレード - O eth1の-m状態--state RELATEDは、トン

にsudoのiptables -A FORWARD -i eth1の-o eth0の-jので

+0

コメントのおかげで、私の問題は、ルーティング構成されていませんが、サブネット間のデフォルトのトラフィックによってそのOpenStackのブロックが...私は答えとしてそれを投稿し、解決策を見つけました。 – Michael

関連する問題