web-dev-qa-db-ja.com

LAN内でポート転送テストは可能ですか? Mikrotikルーター

Mikrotikルーターにポート転送を設定しましたが、ルーターOS(v6.39.2)は標準の既製の製品よりもはるかに複雑に見えます私が慣れているルーターインターフェイス。私は ここから の指示に従いました。これらは、IP /ファイアウォール/ NATに入力した設定です。

- Chain: dstnat
 - Protocol: 6 (tcp)
 - Dst Port: 8000
 - In. Interface: all Ethernet (for testing purposes) 
 - Action: dst-nat
 - Log: yes (for testing purposes)
 - To Addresses: 192.168.1.33
 - To Ports: 8000

外部ネットワークで8000ポートがまだ正式に開かれていないようです(誰かがそうするのを待っている間、 yougetsignal.com で開いているかどうかを確認しました)。私のポート転送ルールがローカルネットワーク内で機能するかどうかを少なくともテストしたい場合IS POSSIBLE。

アクセスしようとすると192.168.1.1:8000 Webブラウザで、NATルール設定のレートグラフにいくつかのアクティビティが表示されます。しかし、Webブラウザーからはまだ「このサイトにアクセスできません」という応答しか得られません。

私の希望は192.168.1.33:8000。これは可能でしょうか?または私は何か間違ったことをしましたか?

2
evsc

Linuxカーネルに基づくMikrotik RouterOSは、ネットワークの概念のほとんどを継承しています。

そこで、Mikrotikルーターでのポート転送の設定について説明します。そして、私はあなたの問題を説明しようとします。

より深く理解したい場合は、 iptablesチュートリアル を参照してください。詳細な説明が付いた、とてもクールなドキュメントです。

  1. ネットワークトポロジを描画してみましょう。

The network topology

  1. ポート転送ルールを作成します。より良い方法は、インターフェイスではなく元の宛先アドレスを指定することです。これにより、単一のルールを使用して、外部からのパケットとLANからのパケットの両方の宛先アドレスを書き換えることができます。だから、あなたのルールは正しいです:
- Chain: dstnat
- Protocol: 6 (tcp)
- Dst Address: <wan-ip>
- Dst Port: 8000
- In. Interface: all Ethernet (for testing purposes)
- Action: dst-nat
- Log: yes (for testing purposes)
- To Addresses: 192.168.1.33
- To Ports: 8000
  1. パケットが外部(WANインターフェイス)から到着する場合、そのケースは取るに足らないものです。しかし、ポート転送すべきパケットがLANから到着すると、興味深いことが起こります。

    • LANホストのユーザーがhttp://<wan-ip>:8000 Webページを閲覧しようとしているとしましょう。 TCP _192.168.1.Z:Y -> <wan-ip>:8000 TCP [SYN]形式のパケット]は、LANホストで発信され、デフォルトゲートウェイ(Mikrotikルーター)に送信されます。
    • Mikrotikルーターはこのパケットを受信します。
    • 次に、dst-natルールにより、宛先アドレスを書き換えます。このアクションの後、パケットは192.168.1.Z:Y -> 192.168.1.33:8000 TCP [SYN]のようになります。
    • ルーターはさらにパスを調べ、パケットをLANに送信して192.168.1.33ホストに送信します。
    • 192.168.1.33ホストは、TCPパケットをTCP SYN 192.168.1.Z:Y -> 192.168.1.33:8000の形式で受信し、192.168.1.33:8000 -> 192.168.1.Z:Y TCP [SYN-ACK]の形式で応答を作成して、LANホストに送信します直接
    • LANホストはパケット192.168.1.33:8000 -> 192.168.1.Z:Y TCP [SYN-ACK]を受信しますが、ホストが期待するものではありません!そして、このパケットはドロップされます。
    • ご覧のとおり、すべての作業を行うために、192.168.1.33ホストは、LANホストに直接ではなく、mikrotikルーターに応答を送信する必要があります。これを行うには、Mikrotikにsrc-natルールを追加します。
- Chain: srcnat
- Protocol: 6 (tcp)
- Dst Address: 192.168.1.33
- Dst Port: 8000
- Src Address: 192.168.1.0/24
- Action: src-nat
- Log: yes (for testing purposes)
- To Addresses: 192.168.1.1

これにより、Mikrotikは、LANから発信されたポート転送パケットの送信元アドレスを書き換えます。その後、192.168.1.33ホストはこれらのパケットを192.168.1.1:X -> 192.168.1.33:8000 TCP [SYN]として認識し、応答をMikrotikに送信します。 mikrotikはアドレスの逆変換を行い、すべてが機能します。

  1. もう1つ、構成する必要があるのは、ファイアウォールフィルタールールです。単純なケースでは、デフォルトのルールで十分です。そのようなものを自分で設定したい場合は、filter/FORWARDチェーンにいくつかのルールが必要です。
- Chain: filter/FORWARD
- Protocol: 6 (tcp)
- Connection state: new
- Dst address: 192.168.1.33
- Dst port: 8000
- Action: accept

- Chain: filter/FORWARD
- Connection state: established,related
- Action: accept

明らかに、改善するための十分な方法がありますが、主な概念は今や明確になっているはずです。

1
Anton Danilov

Dst-natルールは問題ありません。ネットワーク内から192.168.1.33:8000を参照できますか?はいの場合、本番サブネットとは異なるサブネットを使用して2つ目のLANインターフェースを構成し、Mikrotikをテストのデフォルトゲートウェイとして使用して、ラップトップをこの新しいLANポートに接続します。

よろしく、レスリー

0
Leslie