IP 전달 = 언제 그리고 왜 필요합니까?


26

Google에서 많이 검색했습니다. 단지 리눅스 커널 아니라에서 IP 포워딩을 사용하도록 설정하는 방법을 문서화 WHEN하고 WHY나는 그것을 활성화해야합니다. 조언 해 주셔서 감사합니다.

언제 그리고 왜 활성화해야합니까? (예를 들어 브리지를 설치하거나 iptables를 사용하는 경우 또는?를 사용하는 경우 route add)

(좋은 링크는 인정되지만 찾을 수 없었습니다.)

대단히 감사합니다!


기본적으로 네트워크 간 pkt 전송 용이며 인터페이스 간 전송 용이 아닙니다. 이 말은 두 개의 인터페이스가 동일한 네트워크 환경에 있다면 서버에서 IP 전달을 활성화 할 필요가 없다는 것을 의미합니다. 두 개의 네트워크 또는 LANS 사이의 서버에 대해서만.

답변:


32

시스템이 라우터로 작동하기를 원할 때 IP 전달이 가능해야합니다. 즉, 한 네트워크에서 다른 네트워크로 IP 패킷을 전송합니다.

가장 간단한 경우, 두 개의 서로 다른 네트워크 (DSL 네트워크 모뎀이 제공하는 내부 네트워크 및 외부 네트워크)에 연결하기위한 두 개의 물리적 이더넷 포트가있는 서버를 고려하십시오. 이 두 인터페이스를 연결하고 구성하면 시스템이 어느 네트워크에서나 통신 할 수 있습니다. 그러나 전달이 활성화되어 있지 않기 때문에 한 네트워크의 패킷이 다른 네트워크로 이동할 수 없습니다.

'route add'의 특정 예를 고려하십시오. 두 개의 네트워크 인터페이스가있는 경우 각 인터페이스마다 하나씩 최소 두 개의 경로를 추가합니다. 커널이 네트워크 패킷을 보낼 위치를 고려할 때 가장 구체적인 적용 가능한 경로를 선택한 다음 해당 인터페이스로 보냅니다.

그러나 전달이 해제되어 있으면 커널은 먼저 패킷이 어느 인터페이스에서 왔는지 확인합니다. 같은 인터페이스에서 온 것이 아니라면 커널은 버립니다.

편집 : 먼저 두 개의 물리적 네트워크 인터페이스없이 라우터를 사용할 수 있습니다. 예를 들어 VLAN 을 사용 하는 경우 서버는 VLAN 간에 IP 패킷을 전송할 수 있지만 물리적 네트워크 인터페이스는 하나만 가질 수 있습니다. 이것을 1-armed router 라고 합니다 . 그러나 가장 간단한 경우에는 물리적 네트워크 인터페이스가 하나만 있으면 IP 전달을 활성화 할 필요가 없다고 말할 수 있습니다.

IP 포워딩 내가 그래서 (실제 또는 가상) 네트워크 인터페이스 사이의 패킷을 전송하는 것을 포함 생각 하면 동일한 네트워크에있는 두 개의 인터페이스가 있다면, 당신은 패킷이 인터페이스 사이를 이동 할 수 있도록 전달하는 IP를 활성화해야한다고. 그러나 인터페이스가 이미 동일한 네트워크에 있으므로 인터페이스간에 패킷을 전송하는 것은 의미가 없습니다.


기본적으로 컴퓨터를 라우터로 사용하지 않는 경우, 즉 2 개의 네트워크 카드가 설치되어 있지 않은 경우 IP 전달을 활성화하지 마십시오.
LawrenceC

답변 주셔서 감사합니다. IP 패킷이 인터페이스를 통과해야합니까, 또는 "네트워크 경계를 넘어서 이동"에 중점을 두어야합니까, 즉 "프로세스 간 통신"도 IP 전달 (네트워크 경계를 넘을 경우)이 필요합니까? 둘째, 이것은 서로 다른 네트워크를 통과하는 패킷 (xxx.xxx.xxx.xxx/24 및 yyy.yyy.yyy.yyy / 24)이나 동일한 네트워크 내에서 하나의 인터페이스에서 다른 인터페이스로가는 패킷에만 적용됩니까? 감사.
jan mar

1

Wikipedia에 따르면 ...

인터넷 라우팅이라고도하는 IP 전달은 패킷 또는 데이터 그램을 전송할 수있는 경로를 결정하는 데 사용되는 프로세스입니다. 이 프로세스는 라우팅 정보를 사용하여 결정을 내리고 여러 네트워크를 통해 패킷을 보내도록 설계되었습니다. 일반적으로 네트워크는 라우터에 의해 서로 분리됩니다.

시스템을 라우터로 사용하려는 경우에 필요합니다. IP 전달의 정확한 사용법을 알려면 아래 링크를 확인하십시오. http://www.linuxjournal.com/content/linux-advanced-routing-tutorial ?

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