고정 호스트 라우트를 설정할 수 없습니다- "SIOCADDRT : 해당 프로세스 없음"


11

내 사무실에는 Windows Server 2008 라우터 인 192.168.16.1이 기본 게이트웨이입니다. 이것은 우리의 주요 인터넷 연결을 통해 데이터를 보냅니다. 이것은 완벽하게 작동합니다.

192.168.16.1에는 현재 사용되지 않은 다른 인터넷 연결이 있습니다. 라우터 192.168.1.254에 연결 한 다음 보조 인터넷 연결에 연결합니다.

192.168.1. * 범위를 내부 네트워크로 라우팅하도록 라우팅 및 원격 액세스를 설정했으며 IP 주소가 192.168.16.22 인 데스크톱에서 192.168.1.254를 ping 할 수 있습니다.

같은 사무실에있는 Linux 박스에 대해 매우 집중적 인 업로드 및 다운로드 작업을 수행하고 있으므로 기본 인터넷 연결을 연결하지 않고 동료에게 영향을 미치지 않도록 고정 경로를 설정하고 싶습니다. 따라서 제 계획은이 상자를 고정 경로로 설정하는 것입니다.

Linux 상자에서 192.168.1.254를 ping 할 수 있지만 데이터 센터의 대상 서버에 고정 경로를 추가 할 수 없습니다.

$ sudo route add -host 123.123.123.123 gw 192.168.1.254 dev eth0
SIOCADDRT: No such process

광범위한 인터넷 검색 에서이 오류 메시지는 경로를 설정하기 위해 192.168.1.254에 액세스 할 수 없지만 핑 할 수 있음을 나타냅니다. 완벽하게 작동하는 192.168.1.254에 고정 경로를 추가하려고 시도했지만 문제가 해결되지 않았습니다 (예상).

저의 배경은 시스템 관리가 아닌 소프트웨어 개발이므로이 문제를 진단 할 수있을 정도로 네트워킹에 능숙하지 않습니다. 나는 조언을 해주면 대단히 감사하겠습니다.

시간 내 주셔서 감사합니다.

답변:


8

데스크톱이 192.168.16.0/24에 있습니까?

컴퓨터는 기본 경로를 거치지 않고 라우터로가는 방법을 모르기 때문에 직접 연결되지 않은 게이트웨이를 통해 경로를 대상에 추가 할 수 없습니다.


라우팅 결정은 192.168.16.1에서 설정해야합니다.
마크 바그너

2

" 해당 네트워크의 트래픽을 처리하는 게이트웨이의 호스트 경로를 설정 하기 전에 네트워크의 경로를 설정하려고 하면 "SIOCADDRT : 해당 프로세스가 없습니다 " 오류가 발생 합니다.

예 : 로컬-> 172.19.0.1-> 172.19.0.xx

[root@local]# route add -net 172.19.0.0 gw 172.19.0.1 netmask 255.255.255.0 dev eth0
SIOCADDRT: No such process

답변 : 먼저 호스트 경로를 생성 한 다음 네트워크 경로를 생성하십시오.

예를 들어 해당 네트워크의 경우 : 로컬-> 192.168.1.254-> 123.123.123.123

sudo route add -host 192.168.1.254 dev eth0

sudo route add -net 123.123.123.123 netmask 255.255.255.255 gw 192.168.1.254 dev eth0

정적 경로는 여전히 네트워크를로드합니다 . 업로드 / 다운로드 트래픽은 네트워크를 통과해야합니다. 따라서 네트워크의 다른 사용자에게 영향을 미칩니다. 다른 네트워크 사용자에 대한 영향을 줄이려면 트래픽을 대역폭 제한하거나 트래픽을 더 조용한 시간으로 옮길 수 있습니다. 예를 들어 rsync에는 좋은 대역폭 제한 옵션이 있습니다.

라우팅 및 SIOCADDRT와 비슷한 문제가있었습니다. 로컬-> dockerserver-> dockercontainer. 호스트 라우트를 추가 한 다음 네트 라우트를 사용하면 한 방향으로 라우팅 작업을 수행 할 수 있습니다.

이것은 나를 도와줍니다 https://support.symantec.com/en_US/article.TECH142841.html

두 가지 방식으로 작동하는 전체 라우팅 예 :

dockerserver=172.19.0.1
dockerservernet=172.19.0.0
dockercontainer=172.19.0.25
local=192.168.111.23
localnet=192.168.111.0

### 0. create host route for gw and net route local->docker
[root@local]# route add -host $dockerservernet dev eth0
[root@local]# route add -net $dockerservernet gw $dockerserver netmask 255.255.255.0 dev eth0

### 1. route on dockerserver to local
[root@dockerserver ~]# route add -net $localnet netmask 255.255.255.0 dev eno1
[root@dockerserver ~]# ping $local

### 2. route FROM dockercontainer to local (via gateway dockerserver)
[root@dockercontainer /]# route add -net $localnet netmask 255.255.255.0 gw gateway dev eth1
[root@dockercontainer /]# ping $local

0

Ubuntu를 실행하는 AWS EC2 인스턴스에서 영구 경로를 설정하는 것에 대한 질문의 일부에서 AWS 재부팅, 중지 및 시작을 통해 고정 경로를 유지하는 올바른 위치는 /etc/rc.local입니다.

해당 파일 내에서 마지막 행 위의 행에 경로를 배치해야합니다. 선은 다음과 같아야합니다.

route add -net XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX gw XXX.XXX.XXX.XXX

sudo재부트시 명령 실행 이 유실됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.