특정 포트에 리디렉션 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

관련 정보