공개 인터페이스에 수동으로 들어가야 하는 애플리케이션을 설정하고 있습니다. 실행하면 sudo route
다음과 같은 결과가 나타납니다.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.55.168.1 0.0.0.0 UG 0 0 0 eth0
10.55.168.0 * 255.255.254.0 U 0 0 0 eth0
192.168.123.0 * 255.255.255.0 U 0 0 0 eth1
두 개의 인터페이스가 있는 것을 알 수 있지만 어느 것이 공용 인터페이스인지 아직 잘 모르겠습니다.
답변1
"공용 인터페이스"에 대한 공식적인 정의는 없습니다. 가장 가능성 있는 정의는 패킷이 인터넷으로 전송될 경우 패킷이 이동하는 곳이라는 것입니다. 이는 기본 경로의 인터페이스가 됩니다. Linux에서는 셸을 통해 프로그래밍 방식으로 쿼리할 수 있습니다.
route -n | awk '$1 == "0.0.0.0" {print $8}'
대부분의 Unix 변형에는 route
명령줄과 출력 구문이 약간 다를 수 있는 명령이 있습니다.
기본 경로는 유일하게 실행 가능한 후보이지만 실제로 공개될 수도 있고 그렇지 않을 수도 있습니다. 뒤쪽에 기계가 많네요네트워크 주소 변환따라서 공개 인터페이스가 전혀 없습니다. NAT는 자체 공용 인터페이스를 통해 나가는 연결을 중계합니다. 들어오는 연결은 NAT 장치에 도달하며 NAT가 특별히 구성되지 않은 한 컴퓨터로 라우팅되지 않습니다.
답변2
거의 모든 경우에 외부 인터페이스에는 기본 경로가 있으므로 대부분의 경우에는 괜찮습니다.
ip r | awk '/^default/ {print $5}'
그러나 서로 다른 메트릭, 여러 라우팅 테이블을 사용하는 여러 기본 경로가 있고 소스 또는 정책 기반 라우팅을 수행하는 경우 이것이 충분하지 않다는 것을 스스로 알아야 합니다.