게이트웨이를 지정하지 않은 Windows 고정 경로 (다음 홉) 게이트웨이 IP 주소를 지정하는 대신 네트워크 인터페이스

다음과 같은 시나리오가 있습니다.

컴퓨터 A : 198.51.100.8, 넷 마스크 255.255.255.0
컴퓨터 B : 203.0.113.9, 넷 마스크 255.255.255.0
두 컴퓨터가 동일한 LAN 세그먼트에 있습니다. 두 경우 모두 기본 게이트웨이가 지정되지 않았습니다.

이 두 컴퓨터가 서로 통신 할 수 있도록 다음과 같이 두 개의 고정 경로를 추가했습니다.

route add 203.0.113.9 mask 255.255.255.255 198.51.100.8

그러나 게이트웨이 IP 주소를 지정하는 대신 네트워크 인터페이스 를 지정하여 고정 경로를 추가하는 것이 좋습니다 .

다음과 같은 명령을 사용하여 Linux에서 가능합니다.

ip route add 203.0.113.9 dev eth0

FreeBSD에서도 비슷하게 :

route add 203.0.113.9/32 -iface fxp0 -cloning

그러나 Windows 에서이 작업을 수행하는 방법을 잃어 버렸습니다. 이상적으로 나는 다음과 같은 것을하고 싶다 :

route add 203.0.113.9 mask 255.255.255.255 if 2

그러나 그것은 단지 route명령 의 사용법을 인쇄하여 내가 잘못하고 있음을 알려줍니다. 나는 또한 사용하려고 노력했다 netsh.

> netsh routing ip add persistentroute 203.0.113.9 255.255.255.255 "Local Area Connection"
Specify the next-hop for non point-to-point interfaces.

어떤 생각이나 제안?


업데이트 :이 질문을 처음 게시했을 때 Windows XP를 사용하고있었습니다. 그러나 나는 그것을 언급하지 않았습니다.

나는 원래 질문에 맞기 때문에 Grizly의 원래 답변을 남길 것입니다. 그러나 XP / 2003보다 최신 버전의 Windows를 사용하는 경우 다른 답변 중 하나를 시도해보십시오.



답변

창문에서는 불가능할 수도 있습니다

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx

인용 : 로컬로 연결된 서브넷 경로의 경우 게이트웨이 주소는 서브넷에 연결된 인터페이스에 할당 된 IP 주소입니다.


답변

0.0.0.0에서 게이트웨이 로 전달하여 인터페이스를 몰라도 인터페이스를 기반으로 경로를 추가 할 수 있습니다.

이것은 다음과 같은 것을 제공합니다 :

route add <IPtoRoute> mask <MaskOfTheIp> 0.0.0.0 IF <InterfaceNumber>

route add 203.0.113.9 mask 255.255.255.255 0.0.0.0 IF 2


답변

Windows 7 Enterprise에서 Juniper Junos Pulse VPN 클라이언트를 사용하여 동일한 결과를 얻었습니다.
가능한 모든 IPv4 주소를 캡처하여 전화 접속 연결로 라우팅했기 때문에 문제가있었습니다.

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          1.0.0.0        255.0.0.0         On-link       XX.XX.XX.XX     11
          2.0.0.0        254.0.0.0         On-link       XX.XX.XX.XX     11
          4.0.0.0        252.0.0.0         On-link       XX.XX.XX.XX     11
          8.0.0.0        248.0.0.0         On-link       XX.XX.XX.XX     11
         16.0.0.0        240.0.0.0         On-link       XX.XX.XX.XX     11
         32.0.0.0        224.0.0.0         On-link       XX.XX.XX.XX     11
         64.0.0.0        192.0.0.0         On-link       XX.XX.XX.XX     11
        128.0.0.0        128.0.0.0         On-link       XX.XX.XX.XX     11

모든 트래픽이 VPN을 통과하는 것을 원하지 않았으므로 누군가가 필요로하는 경우 작은 cmd 파일을 작성 하여이 경로를 제거한 다음 게이트웨이를 지정하지 않고 필요한 유일한 (10.0.0.0)을 설치하십시오. 올바른 인터페이스를 지정하여
이를 사용하여 인터페이스 번호를 동적으로 검색 할 수 있습니다.

@rem Get the interface number
set IF=
for /f "tokens=1,8 delims=. " %%A in ('route print') do @if /i "%%B" equ "Juniper" set IF=%%A
@rem If interface is not found, terminate quietly
if not defined IF exit /b
for %%A in (1 2 4 8 16 32 64 128) do @route delete %%A.0.0.0
route add 10.0.0.0 mask 255.0.0.0 0.0.0.0 IF %IF%


답변

10 진수의 인터페이스 번호가로 표시됩니다 route print. 아래의 출력 상단을보십시오
Interface List.

또 다른 방법은 arp -a16 진수 를 사용 하고 메모하는 것입니다. 예 :

C:\>arp -a

Interface: 192.168.1.28 --- 0xc
  Internet Address      Physical Address      Type
<snip>

둘 다의 if인수 뒤에 허용 됩니다 route.exe. 예 :

route ADD <NET-ID> MASK <mask> <GW-address or 0.0.0.0 for on-link> IF 0xc -P

arp -aNIC를 식별하는 것이 더 쉽기 때문에 선호합니다 .

다른 많은 방법이지만 이것이 가장 간단합니다.


답변

영구 테이블에서 게이트웨이를 생략 할 수 없습니다. 일부 사람들은 Windows XP에서 허용되는 인터페이스 카드 IP (사용자 쪽)를 제공합니다. 그러나 더 이상 유효하지 않습니다. 이 경우 OS는 캐시가 채워질 때까지 모든 네트워크 인터페이스를 계속 작동시킵니다. 좋은 동작이 아니며 빈 라우팅 테이블과 아무런 차이가 없습니다.

게이트웨이로 대상 IP를 배치하면 최소한 Windows 10에서 문제가 해결된다는 것을 알았습니다. 그러나 현재 100.1 %의 진실로 확인할 통계는 거의 없습니다.


답변