현재 포트 80에서 실행중인 NAS 상자가 있습니다. 외부에서 NAS에 액세스하려면 다음과 같이 포트 8080을 NAS의 포트 80에 매핑했습니다.
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.32.25.2:80
이것은 매력처럼 작동합니다. 그러나 이것은 네트워크 외부 (직장, 다른 집 등)에서 웹 사이트에 액세스하는 경우에만 작동합니다. 그래서 입력 mywebsite.com:8080
하면 IPTables가 올바르게 작업하고 모든 것이 올바르게 작동합니다.
이제 내가 가진 문제는 네트워크 내부 에서이 포트를 어떻게 리디렉션 할 수 있습니까? 내 도메인 이름 mywebsite.com
은 내부 (10.32.25.1)에서 내 라우터 (내 Linux 서버)를 가리 키지 만 내부에서 1080.25.2의 포트 8080을 포트 80으로 리디렉션하고 싶습니다.
실마리?
편집 # 1
이 질문을 쉽게하기 위해이 다이어그램을 정리했습니다. 찾고있는 것이 잘못되었거나 잘못 표시되면 언제든지 업데이트하십시오.
iptables
| .---------------.
.-,( ),-. v port 80 |
.-( )-. port 8080________ | |
( internet )------------>[_...__...°]------------->| NAS |
'-( ).-' 10.32.25.2 ^ 10.32.25.1 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
10.32.25.1:8080
리디렉션 하고 싶습니다 10.32.25.2:80
. 위의 규칙은 외부에서 작동하지만 네트워크 내부에서는 작동하지 않습니다. 따라서 사무실에 있으면 website.com:8080 에서 NAS에 액세스 할 수 있으며 완전히 투명합니다. 내 집에서 website.com:8080은 내 라우터 일명 Linux 서버이기 때문에 10.32.25.1을 가리 킵니다. 포트 8080을 포트 80의 NAS로 리디렉션하지만 투명하게 다시 지정하고 싶습니다.
eth0 10.32.25.2
인바운드 인터페이스를 기반으로 iptables 사용을 작성할 수 있도록 같은 인터페이스를 언급하십시오