인터페이스, iptables, 연결 및 로컬 영역 연결에 대한 혼란

인터페이스, iptables, 연결 및 로컬 영역 연결에 대한 혼란

오늘 iptables를 구성했는데 아직 해결하지 못한 몇 가지 문제에 직면했습니다. 따라서 누군가가 다음 질문을 확인하거나 답변하여 명확히 할 수 있다면 좋을 것입니다.

  1. 각 인터페이스는 ipv4 또는/및 ipv6에 대해 개별적으로 구성될 수 있습니다. iptables 규칙은 다음과 같습니다iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT 모든 인터페이스에 적용(ipv4에서만)?
  2. 단일 연결(그림과 같이 netstat -na) 항상하나의 인터페이스만 사용?
  3. 이것IP 주소로 자동 선택되는 인터페이스. 예를 들어 다음과 같은 것이 있을 때
    *:~$ IP 주소
    1: lo: mtu 65536 qdisc noqueue status UNKNOWN 그룹 기본값
    링크/루프백 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 범위 호스트 lo
       항상 valid_lft 항상 선호_lft
    2: eth0: mtu 1500 qdisc pfifo_fast 상태 UP 그룹 기본 qlen 1000
    링크/이더* brd ff:ff:ff:ff:ff:ff
    inet 128.176.123.45 brd * 범위 전역 eth0
       항상 valid_lft 항상 선호_lft
    
    127.0.0.1에서 까지의 모든 IP가 127.255.255.255인터페이스를 통과합니다.루오, **나머지는 다음과 같이 구성됩니다.이더넷 0(가능한 경로가 있는 경우 를 통해 볼 수 있음 netstat -r)?
  4. 상황: 서버와 클라이언트(일부 소프트웨어의 경우)가 동일한 컴퓨터에서 실행 중이며 서로 통신합니다. 그래서기계는 스스로와 통신한다. 서버는 특정 포트에서 수신 대기합니다. 다음을 사용하여 연결을 볼 수 있습니다 netstat -na. Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 128.176.123.45:60471 128.176.123.45:50010 ESTABLISHED

    무엇인가요사이의 차이주소는 다음과 같습니다:외부 IP(지금처럼),로컬 네트워크 IP(예: 192.168.1.4),127.0.0.1? 예이더넷 0처음 두 개와루오마지막 하나만을 위해?

    1. 127.0.0.1과 통신거기에서만 갈 수 있어요기계 자체?
    2. 192.168.1.4와 통신에서만 시작할 수 있습니다기계 자체와 LAN?
    3. 128.176.123.45와 통신에서만 시작할 수 있습니다기계 자체, LAN 및 인터넷/GAN?
    4. ~이다이더넷 0인터페이스는 127.0.0.1의 경우를 제외하고 항상 사용됩니다(따라서 시스템 자체와 통신하기 위해 128.176.123.45와 통신함).이더넷 0게다가)?
  5. 0.0.0.0은 와일드카드입니다.포트를 바인딩할 때 명명된 모든 옵션이 포트에 연결될 수 있나요? 모든 인터페이스의 연결을 허용하고 각 연결에 대해 특정 로컬 주소를 얻습니까?
  6. 내가제외한 모든 포트 차단루오상호 작용(다른 규칙은 없음) 다음과 같습니다.
    iptables -P 입력 삭제
    iptables -P 출력이 떨어집니다.
    iptables -P 전달 폐기
    iptables -A 입력 -i lo -j 수락
    iptables -A 출력 -o lo -j 수락
    할 수 있는머신 자체에 192.168.1.4로 핑을 보냈지만명시적으로 다음과 같이 구성합니다.이더넷 0상호 작용?

답변1

  1. 예, 이 규칙에는 인터페이스 지정자가 없으므로 모든 인터페이스에 적용됩니다( -i lo -j RETURN위와 같은 다른 규칙이 없는 한).

  2. 아니요, 트래픽 라우팅을 수행하는 경우 연결에 사용되는 인터페이스가 동적으로 변경될 수 있습니다. (엄밀히 말하면 특정 인터페이스에 주소가 있기 때문에 여전히 특정 인터페이스에 바인딩되어 있을 수 있지만 커널은 라우팅 테이블을 기반으로 다른 인터페이스로 트래픽을 보낼 수 있습니다.)

  3. 소스 주소는 가장 일반적인 선택자이지만 유일한 선택자는 아닙니다. ip rule여러 라우팅 테이블을 포함하여 단순한 소스 주소보다 훨씬 더 복잡한 규칙을 포함할 수 있는 RPDB(라우팅 정책 데이터베이스)를 고려해야 합니다 .

    ip rule3.a. 모든 최신 Linux 시스템에는 실제로 ;로 시작하는 라우팅 테이블이 3개 이상 있습니다 . 일반적으로 from all lookup $X, $X그 중 local, 가 포함됩니다 main.default

    3.b. ip route show table local링크 또는 호스트 범위가 있는 모든 경로가 표시되어야 합니다. 여기에는 모든 로컬 IP가 표시됩니다.

    3.c. ip route show table main이것은 일반적인 라우팅 테이블입니다.

  4. 대상 주소가 머신에 로컬인 경우(로컬 라우팅 테이블 참조) 커널은 실제로 해당 테이블을 통해 이를 구현하고 대신 루프백 인터페이스를 통해 보냅니다 eth0.

    4.1.예

    4.2.네트워크의 라우팅에 따라 DNAT나 다른 라우팅이 있는 경우 LAN보다 더 멀리 접속할 수 있다.

    4.3.로컬 + LAN + WAN이라고 하셨는데요, 이것 외에 또 무엇이 있나요?

  5. 0.0.0.0이 호출됩니다.INADDR_ANY, 와일드카드는 호스트의 모든 IP를 해당 주소에 바인딩합니다.

  6. 위에서 쓴 내용을 보면 주소가 로컬이면 eth0이 아닌 라우팅 테이블을 통해 루프백됩니다.

관련 정보