Linux에서 IPTable을 구성하는 방법은 무엇입니까? [단계별 가이드 2021]

Linux에서 IPTable을 구성하는 방법은 무엇입니까? [단계별 가이드 2021]

IPTables는 Linux의 명령줄에서 실행되는 방화벽 시스템의 이름입니다.프로그램은 주로Ubuntu기본 유틸리티.관리자는 종종 IPTables 방화벽을 사용하여 네트워크로의 트래픽을 허용하거나 차단합니다.

IPTables를 처음 사용하는 경우 가장 먼저 해야 할 일은 다음을 사용하여 업데이트하거나 설치하는 것입니다.

$ sudo apt-get 설치 iptables

명령줄 인터페이스에 익숙하지 않은 사용자는 IPTables의 학습 곡선을 찾을 수 있지만 유틸리티 자체는 사용하기 매우 간단합니다.트래픽 제어의 기반이 될 수 있는 일련의 핵심 명령이 있습니다.하지만 IPTable 규칙을 변경할 때는 매우 주의해야 합니다.잘못 입력한 명령은 물리적 시스템 내부의 문제를 해결할 때까지 IPTable을 완전히 잠글 수 있습니다.

이 기사에서는 IPTables에 대한 기본 가이드를 제공하고 기본 사항을 소개합니다.IPTable의 핵심에 도달하기 전에 다음을 확인해야 합니다.우분투를 실행 16.04VPA하나SSH 클라이언트로的 로컬 머신.이미 가지고 있다면 시작할 때입니다.

IPTables 튜토리얼: 체인

IPTables에서 마스터해야 할 기본 개념 중 하나는 체인 개념입니다.체인은 기본적으로 규칙입니다.필터의 테이블에는 IPTable에서 볼 수 있는 세 개의 체인이 있습니다.시작하다,앞으로 和산출.

    • 입력  – INPUT 체인은 들어오는 패킷을 제어하는 ​​규칙입니다.여기에서 새로운 연결을 차단하거나 허용할 수 있습니다.포트, 프로토콜 및 소스 IP 주소를 기반으로 이 작업을 수행할 수 있습니다.
  • 앞으로  – FORWARD 체인은 다른 끝 위치로 전달되는 수신 패킷을 필터링합니다.라우팅하거나 특별히 전달을 찾지 않는 한 이 체인을 사용하지 않을 것입니다.
  • 출력  – OUTPUT 체인은 나가는 패킷 및 연결을 관리하는 데 사용됩니다.외부 호스트를 ping하면 입력 체인이 데이터를 반환하는 데 사용된다는 점에 유의하는 것이 중요합니다.

기본 체인 동작

처음에는 특정 규칙 구성으로 바로 이동하고 싶지만 기본 동작을 정의하려면 뒤로 물러나야 합니다.체인의 기본 동작이 무엇인지 확인하려면 다음 명령을 실행해야 합니다.

$ sudo iptables -L 명령

그러면 다음이 표시됩니다.

user@ubuntu:~$ sudo iptables -L -v 
체인 INPUT(정책 수락) 
체인 포워드(정책 수락) 
체인 출력(정책 수락) 
user@우분투:~$

이 정보는 체인이 무엇을 위해 구성되었는지 정확히 알려줍니다.이 예에서 입력, 전달 및 출력 체인은 트래픽을 허용하도록 구성되었습니다.이러한 설정은 원하는 연결을 차단하지 않으므로 좋은 시작점입니다.

관련 질문  Linux vs. Windows [급진적인 운영 체제와의 충돌]

그러나 정책이 연결을 허용하지 않는 경우 다음 명령을 각각 입력하여 모든 연결을 허용할 수 있습니다.

$ sudo iptables --policy 입력 수락
$ sudo iptables --policy 출력 수락
$ sudo iptables --policy 앞으로 수락

기본 설정이 모든 연결을 허용하면 IP 주소와 포트 번호를 차단하여 IPTable에 대한 액세스를 제어할 수 있습니다.이를 통해 기본적으로 모든 연결을 차단하는 대신 차단할 연결을 지정할 수 있습니다.

특히 민감한 정보를 다루는 경우 모든 연결을 자동으로 차단하도록 기본 설정을 구성할 수 있습니다.이러한 방식으로 IPTable을 사용하여 허용하려는 개별 IP 주소를 선택할 수 있습니다.이렇게 하려면 다음 명령을 입력해야 합니다.

$ sudo iptables --정책 입력 드롭
$ sudo iptables --정책 출력 드롭
$ sudo iptables --policy FORWARD DROP

대부분의 사용자는 모든 연결을 수락하는 것이 좋지만 보안 수준이 높은 서버에서 작업하는 경우 염두에 둘 가치가 있습니다.

단일 연결 구성

기본 체인 동작이 구성되면 개별 연결을 구성할 차례입니다.여기에서 소위 연결별 응답을 구성합니다.이것은 본질적으로 IP 주소 또는 포트에 연결할 때 상호 작용하는 방법을 IPTable에 알려줍니다.이러한 응답은 다음과 같습니다.수락,포기하다,폐물.

위의 이미지에서 볼 수 있듯이 사용자는 필요에 따라 연결을 허용, 삭제 또는 거부하는 체인 규칙을 정의했습니다.다음은 각 응답에 포함된 내용에 대한 설명입니다.

  • 동의 – 이 구성은 연결만 허용합니다.
  • DROP  – Drop은 어떤 식으로든 소스와 상호 작용하지 않고 연결을 차단합니다.
  • 받지 않다  - 이것은 시도된 연결을 차단하지만 오류 메시지도 보냅니다.이것은 일반적으로 연결 시도가 방화벽에 의해 차단되었음을 소스에 알리기 위한 것입니다.

연결을 허용하거나 차단하는 방법

설정에 따라 연결을 차단하거나 허용하는 다양한 방법이 있습니다.다음 예는 은밀한 차단 방법을 사용합니다.드롭 상호 작용 없이 연결을 끊습니다. iptables-A 기본 체인 설정에 의해 설정된 규칙에 추가 경고를 추가할 수 있습니다.아래에서 이 명령을 사용하여 연결을 차단하는 방법을 볼 수 있습니다.

단일 IP 주소 차단:

$ sudo iptables -A 입력 -S 10.10.10.10 -j DROP

위의 예에서 10.10.10.10을 차단하려는 IP 주소로 바꿀 수 있습니다.

관련 질문  35 Linux 키보드 단축키 [2021년에 알아야 할]

IP 주소 범위 차단:

$ sudo iptables -A 입력 -s 10.10.10.10.0/24 -j DROP    

또는

$ sudo iptables -A 입력 -s 10.10.10.0/255.255.255/.0 -j DROP

단일 포트 차단:

$ sudo iptables -A 입력 -p tcp --dport ssh -s 10.10.10.10 -j DROP 

'ssh는 프로토콜이나 포트 번호로 대체할 수 있습니다.또한 코드의 -p tcp 세그먼트는 차단하려는 프로토콜이 UDP 또는 TCP를 사용하는지 여부를 나타내는 데 사용됩니다.

프로토콜이 UDP를 사용하는 경우 다음을 입력합니다.-p UDP而 不是-p TCP.다음을 입력하여 IP 주소의 모든 연결을 차단할 수도 있습니다.

$ sudo iptables -A 입력 -p tcp --dport ssh -jDROP

양방향 통신: 연결된 상태 IPTables 자습서

당신이 접하는 대부분의 프로토콜은 전송을 위해 양방향 통신이 필요합니다.이는 전송이 입력과 출력으로 구성됨을 의미합니다.시스템에 들어가는 것은 나가는 것만큼 중요합니다.연결 상태를 사용하면 양방향 및 단방향 연결을 혼합 및 일치시킬 수 있습니다.다음 예에서 SSH 프로토콜은 IP 주소의 SSH 연결을 차단하지만 IP 주소에 대한 연결은 허용합니다.

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state 신규, ESTABLISHED -j ACCEPT 

$ sudo iptables -A 출력 -p tcp --sport 22 -d 10.10.10.10.-m state --state ESTABLISHED -J ACCEPT

연결 상태를 변경하는 명령을 입력한 후 변경 사항을 저장해야 합니다.그렇지 않으면 유틸리티를 닫을 때 구성이 손실됩니다.사용 중인 배포 시스템에 따라 다양한 명령을 사용할 수 있습니다.

관련 질문  Linux에서 Windows 애플리케이션을 실행하는 방법은 무엇입니까? [와인 6.1 사용]

Ubuntu:

$ sudo /sbin/iptables-저장

레드햇/센트OS -

$ sudo /sbin/service iptables 저장

또는

$ sudo /etc/init.d/iptables 저장

유틸리티가 로드될 때마다 구성해야 하는 번거로움을 제거하므로 이러한 명령을 사용하는 것을 기억하는 것이 중요합니다.

규칙 삭제

규칙을 저장할 수 있는 것만큼 중요한 것은 규칙을 삭제할 수 있는 것입니다.실수를 하거나 오래된 규칙을 없애고 싶다면 다음과 같은 옵션이 있습니다. D 명령.이 명령은 입력한 규칙 번호와 함께 사용해야 합니다.이 번호는 삭제할 규칙을 IPTable에 알려줍니다.예를 들어 다음을 입력하는 경우:

$ sudo iptables -D 입력 10

그러면 구성한 10번째 규칙이 삭제됩니다.

집을 정리하고 많은 규칙을 제거하려면 다음을 사용할 수 있습니다.-F 명령.다음을 입력하여 이 작업을 수행할 수 있습니다.

$ sudo iptables -F

이렇게 하면 전체 규칙 집합이 지워지고 IPTable이 새로 고쳐집니다.

IPTables: 체인 규칙을 배우십시오!

이것으로 IPTables 튜토리얼을 마칩니다.보시다시피 IPTables는 차단 및 허용하는 방법입니다.Linux분포흐름에 대한 다중 도구.유틸리티를 효과적으로 사용하려면 기본 구성을 효과적으로 설정하고 그 위에 다른 규칙을 구축해야 합니다.기본 구성을 사용하면 트래픽을 허용하거나 거부하는 광범위한 트래픽 의도를 설명할 수 있습니다.이 규칙을 사용하면 IP 주소, 포트 및 프로토콜을 기반으로 방법을 구성할 수 있습니다.

우리는 IPTables의 잠재력의 표면을 긁었을 뿐이며 서버에서 트래픽을 경험하는 방법을 결정하는 데 사용할 수 있는 다양한 명령이 있습니다.그러나 다른 명령을 사용하기 전에 기본 사항을 이해하는 것이 좋습니다.예를 들어, 좀 더 전문화된 작업을 수행하기 전에 기본 체인 규칙을 이해해야 합니다.

IPTable이 작동하는 방식에 익숙해지면 더 많은 규칙을 통합하여 경험을 사용자 지정할 수 있습니다.이렇게 하면 허용할 연결 유형을 그 어느 때보다 정확하게 지정할 수 있습니다.

오 안녕하세요 👋만나서 반갑습니다.

뉴스레터 구독, 매우 정기적으로 보내기훌륭한 기술귀하의 게시물에상자.

코멘트 남기기