커널 IP 전달이란 무엇입니까?

커널 IP 전달이란 무엇입니까?

나는 많은 블로그에서 Linux에서 많은 네트워크 보안/스니핑 도구를 사용할 때 이 명령을 사용하여 IP 전달을 활성화하는 것을 보았습니다.

echo 1 > /proc/sys/net/ipv4/ip_forward

이 명령의 본질이 무엇인지 일반인의 용어로 설명할 수 있는 사람이 있습니까? 시스템을 라우터로 바꾸나요?

답변1

"IP 전달"은 "라우팅"과 동의어입니다. 이는 Linux 커널의 기능이므로 "커널 IP 전달"이라고 합니다.

라우터에는 여러 네트워크 인터페이스가 있습니다. 한 인터페이스의 트래픽이 다른 네트워크 인터페이스의 서브넷과 일치하는 경우 라우터는 해당 트래픽을 다른 네트워크 인터페이스로 전달합니다.

따라서 두 개의 NIC가 있는데 하나(NIC 1)는 주소가 192.168.2.1/24이고 다른 하나(NIC 2)는 주소가 192.168.3.1/24라고 가정해 보겠습니다. 전달이 활성화되고 "대상 주소"가 192.168.3.8인 패킷이 NIC 1로 들어오면 라우터는 NIC 2에서 패킷을 다시 보냅니다.

인터넷 게이트웨이 역할을 하는 라우터에는 일반적으로 기본 경로가 있으므로 NIC와 일치하지 않는 모든 트래픽은 기본 라우팅 NIC를 통과합니다. 따라서 위의 예에서 NIC 2에 인터넷 연결이 있는 경우 NIC 2를 기본 경로로 설정할 수 있으며 NIC 1에서 들어오지만 192.168.2.0/24에 속하지 않는 모든 트래픽은 NIC 2를 통과합니다. NIC 2 외에 추가로 라우팅할 수 있는 다른 라우터가 있기를 바랍니다(인터넷의 경우 다음 홉은 ISP의 라우터, 그 다음에는 공급자의 업스트림 라우터 등).

Enable은 ip_forwardLinux 시스템에 이 작업을 수행하도록 지시합니다. 이를 이해하려면 두 개의 네트워크 인터페이스(2개 이상의 유선 NIC 카드, Wi-Fi 카드 또는 칩셋, 56k 모뎀 또는 직렬을 통한 PPP 링크 등)가 필요합니다.

라우팅 시 보안은 매우 중요하며, 바로 여기에 Linux 패킷 필터가 iptables사용됩니다. 따라서 iptables필요에 맞는 구성이 필요합니다.

iptablesNIC 중 하나가 인터넷이나 제어할 수 없는 서브넷에 연결되어 있는 경우 방화벽과 보안을 고려하지 않고 전달을 비활성화 및/또는 활성화하면 취약성에 노출될 수 있습니다.

답변2

IP 전달을 활성화하면 Linux 컴퓨터가 들어오는 패킷을 수신하여 전달할 수 있습니다. 일반 호스트 역할을 하는 Linux 컴퓨터는 자체 목적(즉, 사용자의 목적)으로만 IP 트래픽을 생성하고 수신하므로 IP 전달을 활성화할 필요가 없습니다.

그러나 IP 전달이 유용한 특정 상황이 있습니다. 1. 우리는 시스템이 라우터 역할을 하여 다른 호스트로부터 패킷을 수신하고 이를 목적지로 라우팅하기를 원합니다. 2. 우리는 나쁜 놈이고 소위 "방식"으로 다른 기계를 가장하고 싶습니다.중간자 공격이 경우, 우리는 피해자에게 전달되는 모든 트래픽을 가로채서 보고 싶지만 피해자가 우리의 존재를 "인식"하지 못하도록 이 트래픽을 그녀에게 전달하기를 원합니다.

관련 정보