特定のポートにリダイレクトIPを応答します。

特定のポートにリダイレクトIPを応答します。

複数のサブドメインで構成されるシステムを作成したいと思います。私はDNSを使用して各サブドメインをIPアドレスに設定します。

この質問では、任意のIPアドレスを使用しました。

165.93.198.34 x.mydomain.com (実際には 165.93.198.220:8080)

165.93.198.38 z.mydomain.com (実際には165.93.198.220:81)

165.93.198.44 c.mydomain.com (実際の 165.93.198.220:443)

165.93.198.220 mydomain.com

iptablesを使用すると、要求がIPアドレスに165.93.198.34来たとき165.93.198.220:8080

iptables -t nat -A PREROUTING -p tcp -d 165.93.198.34  --jump DNAT --to-destination 165.93.198.220:8080

しかし、事前ルーティングはできません。

[root@static ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:down
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:webcache
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:81
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination



[root@static ~]# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             165.93.198.34-iprovider.com to:165.93.198.220:8080

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

私は何が間違っていましたか?

答え1

宛先IP(165.93.198.220)がネットワーク上の他のシステムである場合

次のようにチェーンにACCEPTルールを追加します。FORWARD

iptables -A FORWARD -p tcp -d 165.93.198.220 --dport 8080 -j ACCEPT

また、IP転送が有効になっていることを確認してください。

sysctl net.ipv4.ip_forward

に設定されていない場合は、次のよう1に動的に有効にします。

sysctl -w net.ipv4.ip_forward=1

または

echo 1 > /proc/sys/net/ipv4/ip_forward

再起動後も続行するには、/etc/sysctl.conf次の行を編集して追加します。

net.ipv4.ip_forward = 1

ターゲットIP(165.93.198.220)がローカルコンピュータにある場合

次のようにチェーンにACCEPTルールを追加します。INPUT

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

関連情報