web-dev-qa-db-ja.com

どうやってNAT Hairpin in IOS 8.3+

私が尋ねたように ここ そして複製 ここ それは表示されますNATヘアピニングは、内部サーバーがループバックできるようにするために私が探している答えです(DNS Doctoringを使用せずに)外部IPにアクセスするためのASA。ただし、これらの投稿とここに記載されている手順 http://www.Cisco.com/en/US/products/ps6120/products_configuration_example09186a00807968d1.shtml# solution2 カバーしていないようですNAT Hairpinning on IOS 8.3+(私は9.1を実行しています)9.1には静的コマンドすらありません(単独で)もう。

どうすればよいですかNAT Hairpin in IOS 8.3+(特に、Cisco ASA 5505では9.1(2))。

ありがとう!

更新:

これは私がシスコのサポートサイトに投稿したものです...おそらく追加情報が私の状況をより明確にします

Natヘアピニングを機能させることができないようです...インターネット上のほとんどの手順は、8.3より前に使用可能なコマンドを使用してこれを行う方法を示しています。

私は以下を試しました:

same-security-traffic permit intra-interface

asa-box(config-network-object)# object network my-inside-address-obj
asa-box(config-network-object)# nat (inside,inside) static my-outside-address-obj

うまくいきませんでした。

それから私は追加しました:

access-list hairpin_allow extended permit tcp object Internal_NAT_Range object External_NAT_Range

access-group hairpin_allow in interface inside

これも機能しませんでした(ここでデューディリジェンスを表示しようとしています...)。

それから私は試しました:

nat (inside,inside) source static Internal_NAT_Range Internal_NAT_Range destination static External_NAT_Range External_NAT_Range

それでもダメ。

最後に、次の手順を実行しました( ここ を参照): "9。内部で発生するルーティングの非対称性によるパケットドロップを回避するには、この特定のトラフィックのステートフルインスペクションをバイパスするASAが必要です。 。このために、以下を構成する必要があります。

ASA(config)#access-list tcp_bypass extended permit tcp object Internal_NAT_Range object External_NAT_Range!---アクセスリストを設定して、検査をバイパスする必要があるTCPトラフィック!---パフォーマンスを向上させます。

!---クラスマップを設定し、!---クラスマップの一致パラメータを指定して、対象トラフィックに一致させます。

ASA(config)#class-map tcp_bypass ASA(config-cmap)#description "ステートフルファイアウォールをバイパスするTCPトラフィック" ASA(config-cmap)#match access-list tcp_bypass

!---ポリシーマップを設定し、クラスマップを指定します!---このポリシーマップ内でクラスマップを指定します。

ASA(config-cmap)#policy-map tcp_bypass_policy ASA(config-pmap)#class tcp_bypass

!--- set connection advanced-options tcp-state-bypass!---コマンドを使用して、TCP状態バイパス機能を有効にします。

ASA(config-pmap-c)#set connection Advanced-options tcp-state-bypass

!--- service-policy policymap_name [global | interface intf]!---ポリシーマップをアクティブ化するためのグローバルコンフィギュレーションモードのコマンド!---すべてのインターフェイスまたはターゲットインターフェイスでグローバルに。

ASA(config-pmap-c)#service-policy tcp_bypass_policy inside "

繰り返しますが、何も...

私の設定(クリーン/上記の前)は次のとおりです...

...
object network External_NAT_Range
 range x.x.56.3 x.x.59.255
object network Internal_NAT_Range
 range 172.17.56.3 172.17.59.255
object network InternalIPs
 subnet 172.17.56.0 255.255.248.0
object network VpnIPs
 subnet 172.17.63.0 255.255.255.0
object network InternalIPs_OutOnly
 range 172.17.60.1 172.17.62.254
...

nat (inside,outside) source static InternalIPs InternalIPs destination static VpnIPs VpnIPs no-proxy-arp route-lookup description Un-Nats VPN IPs
nat (inside,outside) source dynamic InternalIPs_OutOnly interface description Allows remaining interior network to access the Internet
!
object network Internal_NAT_Range
 nat (inside,outside) static External_NAT_Range net-to-net
access-group outside_access_in in interface outside
route outside 0.0.0.0 0.0.0.0 x.x.56.1 1
...

外部リソース、たとえば http://x.x.56.5 に内部IPから、たとえば172.17.56.8からアクセスできるようにしたいだけです。

DNS Doctoringを使用してみました。構成ははるかに単純で機能しましたが、PTR要求がインターネットから着信したとき、DNS Doctoringは、明らかにかなり間違っていた内部IPを反映するようにアウトバウンド応答も変換しているようでした...

シスコのプロからの助けをいただければ幸いです。

ありがとう!

5
Novox

廃止されたex-PIX/ASA管理者として、私はもちろんこれが魅力的だと感じました。私はそれを試すためのアプライアンスを持っていません(しかし6.3を実行している古いPIX 506E)ので、それは一種の完全に不完全です。しかし、これは私が9.1のオンラインドキュメントで見つけたものであり、いくつかのランダムなグーグルを介したものです。参照リンクは投稿の下部にあります。だから指が交差した...

ルーティング、アクセスリストなど、他のすべての設定が正しいと仮定すると、コマンドを使用する必要があります。

same-security-traffic permit intra-interface

内部クライアントから外部にマップされたアドレスへのトラフィックを内部サーバーアドレスに再変換できるようにするため、つまり「ヘアピン」にするため。

内部アドレスi.i.i.iを外部アドレスx.x.x.xにポートマップするには、8.3より前のコマンドを使用していました。

static (inside,inside) x.x.x.x i.i.i.i

dnsから取得した外部アドレスを使用して、内部ホストから内部サーバーへのnatヘアピニングを許可するため。これは、通常の「ヘアピンなし」の構文とは異なります。

static (inside,outside) x.x.x.x i.i.i.i

これは当然、外部クライアントがパブリックIPを使用してサーバーを呼び出すことを可能にするためにも存在します。

Ver 8.3以降では、この構文が書き直され、ASAに対応するヘアピニングポートマップ命令は、次のようにフィードされると次のようになります。

asa-box(config)# object network my-outside-address-obj
asa-box(config-network-object)# Host x.x.x.x
asa-box(config-network-object)# object network my-inside-address-obj
asa-box(config-network-object)# Host i.i.i.i
asa-box(config-network-object)# nat (inside,inside) static my-outside-address-obj

これは、通常の「ヘアピンなし」の指示でも補完されます。

それが私が見つけることができる唯一の本当の違いのようですが、もちろんそれが実際にどのように機能するかについてひどく興味があります。

ポートアドレス変換用の9.1コマンド構文(つまり、古い静的コマンドに対応するもの)をここで見つけました: http://www.Cisco.com/en/US/docs/security/asa/asa91/configuration/firewall /nat_objects.html#wp11067

ヘアピニング構文の非常に優れた歴史的ガイドを見つけました。ここでは、さまざまなバージョンで構成されているのと同じデザイン例を示しています。 http://nat0.net/Cisco-asa-hairpinning/

がんばって!

2
ErikE