외부 네트워크와 내부 네트워크에 동일한 IP를 사용하는 방법은 무엇입니까?

외부 네트워크와 내부 네트워크에 동일한 IP를 사용하는 방법은 무엇입니까?

사무실에 웹 서버가 있는 Ubuntu 방화벽 상자(Alma)가 있습니다. 다음과 같습니다.

[Internet] <-> [DSL Router] <-> [Alma]
                                   |
                  [DMZ:10.1...] <--+--> [Internal LAN:192...]

Alma가 아닌 집에 있을 때마다 SSH를 통해 쉽게 액세스할 수 있습니다. 거기 있는 동안 내부 LAN에서는 공용 IP 주소를 사용하여 상자에 로그인할 수 없으며 로컬 서브넷 192를 사용해야 합니다. Alma에는 3개의 NIC 인터페이스가 있습니다.

단일 공용 IP 주소를 사용하여 일부 스크립트를 작성할 수 있기를 원합니다. 7.7.7.7이라고 가정 해 봅시다. 이 문제로 인해 이 작업이 쉽게 수행되지 않습니다. 이 명령을 실행할 수 있는 방법이 있습니까?

ssh 7.7.7.7

인터넷뿐만 아니라 192개의 서브넷에서도 작동합니까? 이상한 점은 내부 또는 외부에서 7.7.7.7을 ping할 수 있다는 것입니다. 하지만 내부에서 7.7.7.7로 SSH를 시도하면 연결이 거부됩니다.

내가 무엇을 잘못했는가, 아니면 옳지 않은가?

내 SSH 데몬은 0.0.0.0을 수신합니다. 내부에서 시도하면 방화벽이 어떤 시도도 전혀 기록하지 않습니다.

도움을 주시면 감사하겠습니다.

答え1

또 다른 방법은 로컬 DNS 서버를 설정하고 IP 주소 대신 이름을 사용하는 것입니다. 이 개념을 분할 지평선 DNS라고 합니다. your-machine.yourdomain.com은 로컬로 10.0.0.7로 확인되고 외부에서 사용되는 경우 7.7.7.7로 확인됩니다.

또한보십시오: 수평으로 분할

저는 개인적으로 다음을 사용하는 것을 추천하고 싶습니다.DJBDNS(또는 해당 포크) 바인딩되지 않습니다.

答え2

내부 LAN에서 액세스할 때 공용 IP 주소에서 대상 NAT를 수행하도록 Alma를 구성해야 합니다.

7.7.7.7이 공개 주소이고 192.168.2.1이 로컬 IP라고 가정합니다. 그런 다음 iptables 구성에 다음 줄을 입력하세요.

-A 사전 라우팅 -d 7.7.7.7 -s 192.168.2.0/24 -j DNAT --목적지 192.168.2.1

로컬 LAN에서 들어오는 모든 7.7.7.7 패킷은 대상 NAT를 사용하여 192.168.2.1로 다시 라우팅됩니다.

関連情報