2017-04-10 9 views
0

私はcell_z1にsshします。私はこれらのルーティングテーブルを見ることができます。cell_z1のiptables NAT設定の対象は何ですか?


    $ sudo iptables -t nat -L 

    Chain PREROUTING (policy ACCEPT) 
    target  prot opt source    destination 
    w--prerouting all -- anywhere    anywhere 

    Chain INPUT (policy ACCEPT) 
    target  prot opt source    destination 

    Chain OUTPUT (policy ACCEPT) 
    target  prot opt source    destination 
    w--prerouting all -- anywhere    anywhere 

    Chain POSTROUTING (policy ACCEPT) 
    target  prot opt source    destination 
    w--postrouting all -- anywhere    anywhere 

    Chain w--instance-coiaggg2s3f (1 references) 
    target  prot opt source    destination 
    DNAT  tcp -- anywhere    cell-z1-0.node.dc1.cf.internal tcp dpt:60036 /* ac4154dd-a2bd-41d8-46bb-c5dfa3c8bfb2 */ to:10.254.0.6:8080 
    DNAT  tcp -- anywhere    cell-z1-0.node.dc1.cf.internal tcp dpt:60037 /* ac4154dd-a2bd-41d8-46bb-c5dfa3c8bfb2 */ to:10.254.0.6:2222 

    Chain w--instance-coiaggg2s3l (1 references) 
    target  prot opt source    destination 
    DNAT  tcp -- anywhere    cell-z1-0.node.dc1.cf.internal tcp dpt:60040 /* 74ab1082-7eca-4a09-7364-b266a23a7fdf */ to:10.254.0.2:8080 
    DNAT  tcp -- anywhere    cell-z1-0.node.dc1.cf.internal tcp dpt:60041 /* 74ab1082-7eca-4a09-7364-b266a23a7fdf */ to:10.254.0.2:2222 

    Chain w--postrouting (1 references) 
    target  prot opt source    destination 
    MASQUERADE all -- 10.254.0.0/30  !10.254.0.0/30  /* executor-healthcheck-8946f5d6-063c-4bae-474d-0032f72b8fcb */ 
    MASQUERADE all -- 10.254.0.4/30  !10.254.0.4/30  /* ef658bba-214d-4eef-5228-410e8e8aeb69 */ 
    MASQUERADE all -- 10.254.0.8/30  !10.254.0.8/30  /* 3cb958eb-409a-4aa9-48f1-41bb6573ebc6 */ 
    MASQUERADE all -- 10.254.0.12/30  !10.254.0.12/30  /* 9600ee8c-9e63-4682-bed3-b14767ea46d3 */ 
    MASQUERADE all -- 10.254.0.16/30  !10.254.0.16/30  /* executor-healthcheck-eda5cee2-81be-4890-6d67-2a9f108d6dda */ 

    Chain w--prerouting (2 references) 
    target  prot opt source    destination 
    w--instance-coiaggg2s3f all -- anywhere    anywhere    /* ac4154dd-a2bd-41d8-46bb-c5dfa3c8bfb2 */ 
    w--instance-coiaggg2s3l all -- anywhere    anywhere    /* 74ab1082-7eca-4a09-7364-b266a23a7fdf */ 

質問:これらの宛先の対象は何ですか? cell_z1でカールすると、301エラーが返されます。だから、私はそれが削除されたと思う。

  • 10.254.0.6:8080
  • 10.254.0.6:2222
  • 10.254.0.2:8080
  • 10.254.0.2:2222

しかし、それはルータが502エラーを返す原因いくつかのアプリケーションをプッシュすると、ルータのエミッタはそのアプリケーションポートを60036,60037,60040,60041にマップしました。

私の環境: ホストOS :Ubuntuのサーバ16.10 のVirtualBoxは:私はこの情報は川崎(ガーディアンのネットワークライブラリ)から来ていることを発見した2017年4月11日

5.0.32


    $ bosh -e bosh-lite releases 
    Using environment '192.168.50.4' as client 'admin' 

    Name    Version   Commit Hash 
    cf     254+dev.1*  80a8305a+ 
    cf-mysql   34.2.0+dev.1* b8dcbe32 
    cf-rabbitmq  222.15.0+dev.1* 377afa0a+ 
    cf-rabbitmq-test 0.1.7   98720fb8 
    cflinuxfs2-rootfs 1.60.0*   0b44b228+ 
    diego    1.11.0+dev.1* 4ee830c6 
    garden-runc  1.4.0*   60f9e9dd 
    routing   0.147.0   255f268f 
    ~     0.136.0   d29132da+ 

更新しました。 以下の経路表を参照してください。あなたがCFにアプリケーションをデプロイする場合でも10.254.0.6とは異なり、ルートテーブルには、それは次のいずれかにコンテナ内で実行、10.254.0.2(10.254.0.0/30)


    $ route 
    Kernel IP routing table 
    Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
    default   10.244.16.1  0.0.0.0   UG 0  0 0 wcl8gbnff7q4-1 
    10.244.16.0  *    255.255.255.0 U  0  0 0 wcl8gbnff7q4-1 
    10.254.0.4  *    255.255.255.252 U  0  0 0 wbrdg-0afe0004 

答えて

0

用の仮想NICとのルートを持っていませんあなたのDiego細胞。コンテナには内部ポートが与えられていますが、この時点では常にDiegoと8080になり、Cellは外部ポートをGoRoutersにパブリッシュします。外部ポートは、セル上のiptablesルールを使用して内部ポートにマップされます。私はそれがあなたが見ている/尋ねているものだと信じています。要約すると

、トラフィックが容器の中に、ブラウザからアプリには、このようなパスをとります。

Browser -> HTTP(S) -> Load Balancer -> HTTP(S) -> GoRouter -> (HTTP) -> External Port on Cell -> iptables -> Internal Port in Container -> Application 

ます。また、ポート2222について疑問に思われるかもしれません、これは似ていますが、ポートがcf sshトラフィックに使用されます容器に入れる。

レイヤーは、Diegoセルのiptablesルールを手動で削除または調整する必要があります。

関連する問題