추가 허용 IP 추가

추가 허용 IP 추가

제가 참고로 사용한 내용은 다음과 같습니다.https://unix.stackexchange.com/a/145933

그렇다면 다음과 같이 하세요.

iptables -I INPUT -p tcp -s MY IP --dport 21 -j ACCEPT
iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 21 -j DROP

MY IP포트 21에만 연결할 수 있는 것으로 알고 있습니다 . 그런데 다른 허용 IP를 추가하는 방법이 있나요?

나는 이것을 시도했습니다 :

iptables -I INPUT -p tcp -s MY OTHER IP --dport 21 -j ACCEPT

그런데 아직도 막혀 있는데, DROP이 예전에 있었기 때문인 것 같아요. DROP 규칙을 삭제하지 않고 추가할 수 있나요?

답변1

옵션 -I은 없습니다iptables추가의(즉 -A, )는 다음과 같은 용도로 사용됩니다.끼워 넣다새로운 규칙. 차이점은 -A새로운 규칙이 추가되었다는 것 입니다.체인, 기본적으로 -I체인 내시작체인.

체인은 순차적으로 읽혀지기 때문에 규칙 -j ACCEPT보다 먼저 규칙을 처리하는 것이 중요합니다 -j DROP.

이를 수행하는 방법에는 여러 가지가 있습니다.

  1. 규칙을 추가하는 -A대신 사용하세요 . -I이렇게 하면 규칙이 마지막에 추가되고 명령 순서를 변경하지 않으면 올바른 순서가 됩니다. 나는 다른 두 가지 옵션보다 이것을 권장합니다.
  2. 계속 사용 -I하되 규칙을 바꾸십시오. 이렇게 하면 -j ACCEPT규칙이 규칙보다 먼저 처리됩니다 -j DROP.
  3. -I선택적으로 새 규칙을 삽입할 체인의 위치인 추가 인수(숫자)를 허용합니다. 매개 변수 없이 규칙을 추가했으므로 -j ACCEPT첫 번째 규칙(즉, 1행)이 됩니다. 따라서 2행에 두 번째 규칙을 추가합니다.

    iptables -I INPUT 2 -p tcp -s 0.0.0.0/0 --dport 21 `-j DROP`
    

그렇긴 하지만, 첫 번째 규칙과 같은 많은 규칙이 필요하다면 성능상의 이유로 사용자 정의 체인을 만드는 것이 더 좋습니다.

iptables -N check-ftp
iptables -A check-ftp -s IP1 -j ACCEPT
iptables -A check-ftp -s IP2 -j ACCEPT
[...]
iptables -A check-ftp -j DROP
iptables -A INPUT -p tcp --dport 21 -j check-ftp

그러면 체인에 "FTP 연결"에 대한 규칙이 생성됩니다. 이렇게 하면 들어오는 네트워크 패킷이 FTP 패킷이 아닌 경우 netfilter 코드는 이 특정 패킷을 허용할지 여부를 결정하기 위해 (긴) 규칙 목록을 반복하지 않고 즉시 다음 규칙으로 이동합니다. 그 경우FTP 패킷, 그런 다음~ 할 것이다긴 목록을 살펴보세요.

관련 정보