관행

관행

게이트웨이를 사용하여 /etc/network/interfaces(이것은 데비안에 있음)에 이와 같은 인터페이스를 설정할 생각입니다.외부서브넷:

iface eth0 inet static
address 10.100.10.99
netmask 255.255.255.0
gateway 10.100.0.1

하지만 "ifup --verbose eth0"을 입력하면 다음 오류 메시지만 표시됩니다.

ifconfig eth0 10.100.10.99 netmask 255.255.255.0
 route add default gw 10.100.0.1  eth0
SIOCADDRT: No such process
Failed to bring up eth0

물론 넷마스크를 255.255.0.0으로 변경하면 문제가 해결됩니다.

이것이 가능합니까, 아니면 다른 질문이 있습니까? ifup에서 더 많은 정보를 얻을 수 있는 방법이 있나요? 이해합니다인터넷에 나온 기사이는 작동해야 함을 나타냅니다.

답변1

이 문제에 접근하는 또 다른 방법은 로컬 네트워크의 기본 게이트웨이 라우터에 연결할 수 없는 경우 이를 통해 패킷을 어떻게 보내는 것입니까? 다른 라우터를 통해 전송해야 합니다.

배경 지식을 바탕으로 IP 패킷에는 일반적으로 소스 및 대상 주소, 즉 패킷이 어디서 왔고 어디로 가는지 포함되어 있다는 점을 기억하십시오. 일반적으로 경로에 도달하는 방법을 결정하는 것은 라우터에 달려 있습니다.

따라서 오프 그리드 기본 게이트웨이 라우터를 통해 IP 패킷을 보낼 때 두 가지 중 하나가 발생해야 합니다.

  1. 로컬 네트워크 라우터는 기본 게이트웨이 라우터에 도달하는 방법을 알고 있으며, 패킷이 목적지에 도달하려면 기본 게이트웨이 라우터를 통해 전송되어야 한다는 사용자의 생각에 동의합니다. 이 경우 로컬 네트워크 라우터를 기본 게이트웨이로 사용하면 어떨까요?

  2. 로컬 네트워크 라우터는 (기본적으로) 패킷이 목적지에 도달하기 위해 다른 라우터를 통해 전송되어야 한다고 생각합니다. 이 경우에는 다르게 말할 수 있는 방법이 있어야 합니다. "소스 라우팅"이라고 하는 이 기능이 존재하지만 보안 위험으로 간주되어 대부분의 라우터는 이를 무시하도록 구성되어 있습니다.

마지막으로 내 경험에 따르면 Linux iproute( ip) 도구를 사용하면 로컬 네트워크 인터페이스를 통해 게이트웨이에 직접 연결할 수 없는 경우 경로를 추가할 수 없습니다.

일부 소스 라우팅 참조:

답변2

기본 게이트웨이는 장치의 IP 주소와 동일한 서브넷에 있어야 합니다. 이는 일반적으로 연결하려는 네트워크의 라우터 IP 주소입니다. ~에서기본 경로에 대한 Wikipedia 페이지:

컴퓨터 네트워킹에서 게이트웨이는 다른 네트워크에 대한 액세스 지점 역할을 하는 TCP/IP 네트워크의 노드(라우터)입니다. 기본 게이트웨이는 IP 주소가 라우팅 테이블의 다른 경로와 일치하지 않을 때 네트워킹 소프트웨어가 사용하는 컴퓨터 네트워크의 노드입니다. 실제로는 PC 네트워크가 연결된 라우터의 IP 주소입니다.

홈 컴퓨팅 구성에서 ISP는 일반적으로 로컬 하드웨어를 인터넷에 연결하고 게이트웨이 역할을 하는 물리적 장치를 제공합니다. 이러한 장치에는 DSL 라우터와 케이블 라우터가 포함됩니다.

조직 시스템에서 게이트웨이는 워크스테이션에서 다른 네트워크 세그먼트로 트래픽을 라우팅하는 노드입니다. 기본 게이트웨이는 일반적으로 내부 네트워크를 외부 네트워크(인터넷)에 연결합니다. 이 경우 게이트웨이 노드는 프록시 서버 및 방화벽 역할도 할 수 있습니다. 게이트웨이는 또한 헤더와 전달 테이블을 사용하여 패킷을 보낼 위치를 결정하는 라우터 및 게이트웨이와 주고받는 패킷의 실제 경로를 제공하는 스위치와도 연결됩니다.

즉, 기본 게이트웨이는 네트워크의 진입점과 종료점을 제공합니다.

답변3

OP는 다른 서브넷에서 게이트웨이를 설정할 수 있는 방법이 있는지 물었습니다. 모범 사례를 자세히 다루지는 않겠지만 이 방법이 여러 번 실행되는 것을 보았지만 이 페이지는 여전히 명확한 정보 없이 검색의 첫 번째 결과로 표시됩니다.

이 개념

먼저 다른 서브넷의 호스트로 라우팅하여 이를 기본 게이트웨이로 설정할 수 있습니다. 네트워크를 원하는 대로 사용하지 못하게 하는 "보안 잠금"이 있지만 패킷은 소스 주소와 대상 주소를 모두 가질 수 있는 바이너리 스트림 스트림에 지나지 않습니다. 네트워크 장치는 이 정보를 수신하고 보유한 정보로 무엇을 할지 결정합니다. 라우터는 모든 패킷을 수신하고 번역이나 기타 수단을 통해 결정한 곳 어디든 전달할 수 있습니다.

또한 레이어 3 헤더에 외부 대상이 포함된 IP 패킷을 라우터의 MAC 주소로 보낼 때 라우팅이 발생한다는 점을 고려하세요. 레이어 2 장치(간단한 스위치)는 IP 헤더를 확인하지 않고 패킷을 전달하는 MAC만 확인합니다. 패킷을 올바른 포트로 보내는 한 결국 어떻게든 라우터에 도달하게 됩니다. 그러면 라우터는 이를 추가로 전달할 수 있습니다.

네트워크가 적절하게 설정되었다고 가정하면, 패킷이 컴퓨터에서 올바른 인터페이스로 이동하는지 확인하기만 하면 됩니다. 먼저 인터페이스 중 하나를 통해 게이트웨이 네트워크에 대한 경로를 생성한 다음 원하는 것을 해당 게이트웨이로 라우팅하여 이를 수행할 수 있습니다.

관행

다음 ip명령을 사용하면 됩니다(유닉스 사용자 여러분, 죄송합니다. 저는 여전히 대부분 Linux만 사용하고 있으며 몇 가지 사항을 잊어버렸습니다 ifconfig).

ip route add 10.100.0.1/32 dev eth0 src 10.100.10.99
ip route add default via 10.100.0.1

부인 성명

그냥 시행하겠습니다. 저는 여기서 모범 사례 논의에 엄격히 참여하지 않습니다. 저는 네트워크 엔지니어가 아니며 이 문제에 대해 논의하고 싶습니다. 제가 알고 있는 작업 방식을 다른 사람들과 공유하는 것이 도움이 될 수 있습니다.

답변4

Verizon ADSL 서비스를 사용하는 여러 위치에서 동일한 문제가 발생합니다. "기본 게이트웨이"는 다른 서브넷에 있습니다. 우리의 경우 ipsec 사이트 간 VPN을 사용하려면 공용 IP 주소가 필요합니다. 이렇게 하려면 공용 IP 주소가 DSL 게이트웨이가 아닌 라우터에 있도록 DSL 게이트웨이를 브리지 모드로 설정해야 합니다.

대부분의 서비스 제공업체는 이 작업을 매우 쉽게 수행할 수 있지만 Verizon은 어려움을 겪고 있는 것 같습니다. D-Link 2750B DSL 게이트웨이를 사용하여 브리지 모드로 설정하면 Verizon 기술자가 별도의 서브넷에서 기본 게이트웨이를 사용하라고 말했습니다. Windows 7 랩탑을 사용하여 테스트했는데 Windows에서 "바보입니다. 이것은 나쁜 생각입니다. 아직도 이 구성을 저장하시겠습니까? Y/N"이라는 오류 메시지가 표시되었지만 작동했습니다.

그러나 더 엄격한 온전성 검사를 수행하는 소프트웨어는 사용자를 자신으로부터 보호하는 것 같습니다...

그래도 속일 수 있는 방법이 있을 것 같다는 생각은 지울 수 없습니다...

관련 정보