macOS에서 두 개의 네트워크 인터페이스를 사용하여 서로 다른 네트워크에 연결하는 경우, 일반적으로 시스템의 내부 네트워크와 외부 네트워크에 동시에 액세스하는 것은 불가능합니다. 이는 컴퓨터가 어떤 네트워크 세그먼트가 확실히 내부 네트워크에 속하는지 알지 못하기 때문입니다.
네트워크 인터페이스의 서비스 순서 설정하기
시스템 환경설정 - 네트워크 - 서비스 순서 설정으로 이동하여 네트워크 우선순위를 조정하기 위해 드래그합니다. 외부 네트워크에 연결된 네트워크 인터페이스를 내부 네트워크에 연결된 인터페이스보다 위에 배치하세요. 이렇게 하면 외부 네트워크에 정상적으로 접근할 수 있습니다.
내부 네트워크 인터페이스에 대한 적절한 네트워크 세그먼트 설정하기
내부 네트워크 인터페이스의 게이트웨이 주소를 가져옵니다. 내부 네트워크는 일반적으로 고정 IP 주소를 사용합니다. 사용된 방법에 관계없이 네트워크 설정의 고급 인터페이스에서 라우터 주소를 찾을 수 있습니다. 이 주소는 다음 단계에서 게이트웨이를 설정하는 데 사용됩니다.
내부 네트워크 세그먼트 설정하기
내부 네트워크에 대한 접근을 허용하기 위해 로컬 정적 경로를 설정하고 해당 내부 네트워크 게이트웨이를 가리키는 네트워크 세그먼트를 추가합니다.
추가하기:
sudo route add -net 10.0.0.0 -netmask 255.255.0.0 10.0.2.1
sudo route add -net 30.1.0.0 -netmask 255.255.0.0 10.0.2.1
삭제하기:
sudo route delete -net 10.0.0.0 -netmask 255.255.0.0 10.0.2.1
sudo route delete -net 30.1.0.0 -netmask 255.255.0.0 10.0.2.1
'net' 매개변수는 네트워크 세그먼트의 IP 주소에 해당하고, 'netmask'는 서브넷 마스크입니다. 마지막 IP 주소는 내부 네트워크의 게이트웨이로, 이전 단계에서 가져온 라우터 IP 주소입니다.
내부 및 외부 네트워크 간 연결 테스트하기
내부 및 외부 네트워크가 연결되어 있는지 테스트하기 전에 웹 브라우저를 사용하여 테스트하는 것을 피하십시오. 이는 웹 브라우저가 도메인 이름 해석 결과를 캐시하여 실시간 결과를 제공하지 못할 수 있기 때문입니다. 또한 내부 네트워크에서 도메인 이름 해석이 실패하는 경우가 많습니다. 구체적인 이유는 아래에 설명하겠습니다.
ping 명령어를 사용하여 내부 및 외부 네트워크의 적절한 주소를 ping 테스트합니다. 이 결과는 두 네트워크에 동시에 성공적으로 접근할 수 있는지를 결정할 수 있습니다.
# 현재 라우팅 테이블 표시
netstat -rn
# 기본 경로 가져오기
route get 0.0.0.0
내부 네트워크 도메인 및 내부 DNS 해석에 대하여
내부 DNS 서버가 외부 네트워크 주소를 해석하지 못하면 설정만으로 내부 및 외부 네트워크 도메인을 자동으로 해석하는 것은 불가능합니다.
macOS에서는 내부 및 외부 DNS 서버 주소를 추가하여 내부 네트워크 주소를 외부 네트워크 인터페이스로 해석할 수 없습니다. 편리한 방법은 먼저 외부 네트워크 인터페이스를 비활성화한 다음 순수 내부 네트워크 모드로 들어가 내부 네트워크 도메인 이름을 ping하여 내부 IP 주소를 얻고, 이를 Hosts 파일에 작성하여 로컬 해석을 수행하는 것입니다.
DNS 해석 결과 테스트하기
nslookup 명령을 사용하여 도메인 이름과 함께 현재 어떤 DNS 서버가 도메인 이름 해석에 사용되고 있는지 확인할 수 있습니다.