ファイアウォール付きのCentos 7ポート転送は機能しません。

ファイアウォール付きのCentos 7ポート転送は機能しません。

Centos 7では、ファイアウォールベースのポート転送は利用できないようです。 192.168.0.148:905 を 192.168.56.102:22 に渡します。 192.168.0.148 -p 905でSSHを試みると、「接続が拒否されました」というメッセージが表示されます。

以下はいくつかの関連設定です。

[root@GraceDev3 log]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: br0
  sources:
  services: ssh dhcpv6-client https
  ports: 3389/tcp 905/tcp 908/tcp
  protocols:
  masquerade: yes
  forward-ports: port=905:proto=tcp:toport=22:toaddr=192.168.56.102
        port=908:proto=tcp:toport=22:toaddr=192.168.56.105
  source-ports:
  icmp-blocks:
  rich rules:

転送ポート:

[root@GraceDev3 log]# cat /proc/sys/net/ipv4/ip_forward
1

192.168.0.148 ポート 22 の tcpdump は、到着する SSH 要求を示します。 Firewalld ログには破棄されるパケットは表示されません。私は何を見逃していますか?他の人も同じ問題を抱えていることがわかりましたが、まだ解決策が見つかりませんでした。

ベストアンサー1

K次のような説明は次のとおりです。

「NetworkManagerは、ファイアウォールにインターフェイス領域について通知します。NetworkManager、ファイアウォール設定ツール、またはファイアウォールcmdコマンドラインツールを使用してインターフェイスにゾーンを割り当てることができます。後者の2つのツールは、そのNetworkManager設定ファイルを簡単に編集します。ファイアウォールを使用している場合、-cmd または Firewall-config がインターフェイス領域を変更すると、要求は NetworkManager に転送され、⁠firewalld では処理されません。

転送しようとしているコンピュータはハイパーバイザーであり、NetworkManagerが無効になっています。これによりゾーン構成が中断されるようです。問題を解決して報告するよう努めます。 (またはiptablesに切り替えるとわかりそうです!)

PS:可能なようですが、上記の内容が問題の原因であることを証明することはできません。 iptablesに切り替えると、ポート転送が機能する可能性があります。私の場合、ターゲットコンピュータへの直接インターネット接続もあります(ポート22インバウンドは許可されていません)。これは、リターンパケットが帰りの途中でNATを変更しないことを意味します。これは私にとってとても複雑なので、配信のためにnetfilterの代わりにsshを使用するように切り替えましたが、うまくいきました!

おすすめ記事