홈페이지 » 어떻게 » 리눅스에서 iptables 사용하기

    리눅스에서 iptables 사용하기

    이 가이드는 이해하기 쉬운 언어로 리눅스에서 iptables를 사용하는 방법을 설명하려고합니다..

    내용

    [숨는 장소]

    • 1. 개요
    • 2 사용법
      • 2.1 단일 IP 주소 차단
      • 2.2 IP 주소에서 모든 트래픽 허용
      • 2.3 모든 주소에서 포트 차단
      • 2.4 단일 IP에서 단일 포트 허용
      • 2.5 현재 규칙보기
      • 2.6 현재 규칙 지우기
    • 3 배포판 관련
      • 3.1 젠투

    개요

    iptables는 규칙 기반 방화벽으로, 일치하는 규칙을 찾을 때까지 각 규칙을 순서대로 처리합니다.

    Todo : 여기에 예제를 포함하십시오.

    용법

    iptables 유틸리티는 일반적으로 리눅스 배포판에 사전 설치되어 있지만 실제로 어떤 규칙도 실행하지 않습니다. 대부분의 배포판에서이 유틸리티를 찾을 수 있습니다.

    / sbin / iptables

    단일 IP 주소 차단

    -s 매개 변수를 사용하여 10.10.10.10을 차단하려는 주소로 바꾸면 IP를 차단할 수 있습니다. 이 예제에서 append 대신 -I 매개 변수 (또는 -insert가 너무 효과적)를 사용했음을 주목할 것입니다. 왜냐하면 우리는이 규칙이 어떤 규칙보다 먼저 나타나기를 원하기 때문입니다.

    / sbin / iptables -I INPUT -s 10.10.10.10 -j DROP

    IP 주소에서 모든 트래픽 허용

    위와 동일한 명령을 사용하여 DROP를 ACCEPT로 바꾸면 IP 주소에서 모든 트래픽을 허용 할 수 있습니다. DROP 규칙이 적용되기 전에이 규칙이 먼저 나타나는지 확인해야합니다..

    / sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT

    모든 주소에서 포트 차단

    the -dport 스위치를 사용하고 차단하려는 서비스의 포트를 추가하여 네트워크를 통해 포트에 대한 액세스를 완전히 차단할 수 있습니다. 이 예제에서는 mysql 포트를 차단할 것이다.

    / sbin / iptables -A INPUT -p tcp --dport 3306 -j DROP

    단일 IP에서 단일 포트 허용

    -s 명령을 -dport 명령과 함께 추가하여 규칙을 특정 포트로 더 제한 할 수 있습니다.

    / sbin / iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT

    현재 규칙보기

    다음 명령을 사용하여 현재 규칙을 볼 수 있습니다.

    / sbin / iptables -L

    이렇게하면 다음과 비슷한 결과가 나타납니다.

    체인 INPUT (정책 ACCEPT) 대상 prot 선택 출처 대상 모두 192.168.1.1/24 ACCEPT all - 10.10.10.0/24 어디서든 DROP tcp - 어디서나 tcp dpt : ssh DROP tcp - 어디서나 tcp dpt : MySQL

    실제 출력은 물론 좀 더 길어질 것입니다..

    현재 규칙 지우기

    flush 매개 변수를 사용하여 현재 규칙을 모두 지울 수 있습니다. 규칙을 올바른 순서로 넣거나 테스트 할 때 매우 유용합니다..

    / sbin / iptables - 플래시

    배포판 관련

    대부분의 Linux 배포판에는 iptables의 형태가 포함되어 있지만 일부에는 관리가 좀 더 쉽게 이루어지는 래퍼가 포함되어 있습니다. 대부분의 경우 이러한 "애드온"은 시작할 때 iptables를 초기화하는 init 스크립트의 형태를 취하지 만 일부 배포판에는 일반적인 경우를 단순화하려는 본격적인 래퍼 응용 프로그램도 포함됩니다.

    젠투

    그만큼 iptables Gentoo의 init 스크립트는 많은 일반적인 시나리오를 처리 할 수 ​​있습니다. 우선 iptables를 시작할 때로드하도록 구성 할 수 있습니다 (일반적으로 원하는 내용).

    rc-update iptables 기본값 추가

    init 스크립트를 사용하면 기억하기 쉬운 명령으로 방화벽을로드하고 지울 수 있습니다.

    /etc/init.d/iptables start /etc/init.d/iptables stop

    init 스크립트는 시작 / 중지시 현재 방화벽 구성을 유지하는 세부 사항을 처리합니다. 따라서 방화벽은 항상 퇴사 한 상태입니다. 새 규칙을 수동으로 저장해야하는 경우 init 스크립트가이를 처리 할 수 ​​있습니다.

    /etc/init.d/iptables save

    또한 방화벽을 이전 저장된 상태로 복원 할 수 있습니다 (규칙을 실험하고 이전 작업 구성을 복원하려는 경우).

    /etc/init.d/iptables reload

    마지막으로, init 스크립트는 iptables를 "패닉 (panic)"모드로 설정할 수 있습니다.이 모드에서는 모든 수신 및 발신 트래픽이 차단됩니다. 왜이 모드가 유용한 지 모르겠지만 모든 리눅스 방화벽에는이 모드가있는 것 같습니다..

    /etc/init.d/iptables 공황

    경고: SSH를 통해 서버에 연결되어있는 경우 패닉 모드를 시작하지 마십시오. 당신 의지 연결이 끊어졌습니다! iptables를 패닉 모드로 전환해야하는 유일한 시간은 당신이있는 동안입니다. 신체적으로 컴퓨터 앞에서.