iptablesから8006から443への転送は機能しません。

iptablesから8006から443への転送は機能しません。

私の専用サーバーはvmbr0にブリッジされており、2つのブリッジイーサネットカードeth0とeth1があります。

転送を有効にしましたnet.ipv4.ip_forward=1

ポート8006を443にリダイレクトしたいです。

ポート8006でWebアプリケーションにアクセスしており、443にリダイレクトを使用しようとしていますiptables

現在、転送にこの規則を使用していますが、機能しません。

iptables -t nat -I PREROUTING -d 192.168.1.100 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.100:8006

このルールを適用すると、iptables192.168.1.100:8006からページにアクセスできなくなります。

# Default filter

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# Loopback allows all.

iptables -I INPUT -i lo -j ACCEPT
iptables -I FORWARD -i lo -j ACCEPT

# Null packets are, simply said, recon packets. see how we configured the VPS and find out weaknesses.

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

# Reject is a syn-flood attack

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# XMAS packets, also a recon packet

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

# Allow all Outgoing connection

iptables -A OUTPUT -j ACCEPT
# Ethernet allows established/related Except invalid.

iptables -A INPUT -i vmbr0 -m state --state ESTABLISHE,RELATED -j ACCEPT
iptables -A INPUT -i vmbr0 -m state --state INVALID -j DROP

# Allow TCP on Port 22 SSH with rate limiting

iptables -A INPUT -i vmbr0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT -i vmbr0 -p tcp -m state --state NEW -m tcp --dport 22 -m recent --set
iptables -I INPUT -i vmbr0 -p tcp -m state --state NEW -m tcp --dport 22 -m recent --update --seconds 10 --hitcount 5 -j DROP

# Allow Ping ICMP echo With Limiting

iptables -A INPUT -i vmbr0 -p icmp -m state --state NEW -m icmp --icmp-type echo-request -j ACCEPT
iptables -I INPUT -i vmbr0 -p icmp -m icmp --icmp-type echo-request -m recent --set
iptables -I INPUT -i vmbr0 -p icmp -m icmp --icmp-type echo-request -m recent --update --seconds 10 --hitcount 10 -j DROP

# Allow HTTP Requests for NON-secured 80

iptables -A INPUT -i vmbr0 -p tcp --dport 80 -m state --state NEW -m tcp -j ACCEPT
iptables -I INPUT -i vmbr0 -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -I INPUT -i vmbr0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 5 --hitcount 20 -j DROP

# Allow HTTP Requests for SLL 443

iptables -A INPUT -i vmbr0 -p tcp --dport 443 -m state --state NEW -m tcp -j ACCEPT
iptables -I INPUT -i vmbr0 -p tcp --dport 443 -m state --state NEW -m recent --set
iptables -I INPUT -i vmbr0 -p tcp --dport 443 -m state --state NEW -m recent --update --seconds 5 --hitcount 20 -j DROP

# Enabling Logging

iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 10/min -j LOG --log-prefix "IPTables-log:" --log-level 4
iptables -A LOGGING -j DROP

# DROP ALL Except Above Rules

iptables -A INPUT -j DROP

答え1

発言はたくさんありますが、尋ねるのは少なすぎます。リモートコンピュータがポート8006の何かにアクセスできるようにするには、ファイアウォールにポート8006の接続を受け入れるように指示する必要がありますが、まだそうしていません。

PREROUTINGのルールは、アドレス443のネットワークセグメントを変更し、宛先アドレスを8006に変更します。ポート443をポート8006にリダイレクトします。しかし、ポート8006を443にリダイレクトしたいと述べました。 PREROUTINGルールで数字を変更しても、必要に応じて機能しない場合があります。

注:ファイアウォールを再スクリプトする必要があります。明らかにインターネットで見つけた内容をコピーして貼り付けた組み合わせです。これがうまくいくと(今)、確実に動作が停止します。たとえば、INPUTのポリシーをDROPに設定しましたが、まだiptables -A INPUT -j DROPスクリプトの最後にあります。それは重複し、あなたがその問題についてあまり考えていないことを示しています。もっと深刻な間違いは、配信を有効にしましたが、配信する意図がないということです…私の考えでは。

関連情報