iptables로 리눅스 방화벽 설정하기

Linux 서버 또는 데스크톱에 좋은 방화벽이 필요한 경우 iptables를 선택하는 것이 좋습니다. 매우 유연하고 빠릅니다. 이 가이드에서는 Linux에서 iptables 방화벽을 설정하는 방법을 보여줍니다.

리눅스에 iptables 설치하기

Linux 시스템 에서 iptables로 방화벽을 설정하려면 먼저 방화벽을 설치해야 합니다. 터미널 창을 열고 Linux OS에 대한 아래의 설치 지침을 따르십시오. iptables는 Linux 데스크톱과 서버 모두에 설치할 수 있으며 iptables의 일반 Linux 다운로드를 선호하는 경우 공식 웹 사이트를 방문할 수 있습니다 . 설치가 완료되면 iptables로 방화벽 설정을 진행할 수 있습니다.

우분투 지침

sudo apt 설치 iptables

데비안 지침

sudo apt-get 설치 iptables

아치 리눅스 지침

sudo pacman -S iptables

페도라 지침

sudo dnf 설치 iptables

OpenSUSE 지침

iptables의 sudo sudo zypper

EPEL 배포판(Rhel, CentOS, Rocky, Alma 등)

sudo yum 설치 iptables

iptables 규칙 세트를 만드는 방법

방화벽으로 사용하기 전에 새로운 iptables 규칙 세트를 생성해야 합니다. 터미널 창을 열고 sudo 명령을 입력할 수 있는지 확인합니다. 사용자가 할 수 없는 경우 su 를 사용하여 루트 계정에 로그인합니다 .

여기에서 iptables -F 명령을 사용합니다. 이 명령은 시스템에서 iptables에 대한 모든 이전 규칙을 삭제하고 플러시합니다.

sudo iptables -F

위의 명령을 실행한 후 iptables -L 명령을 실행하여 규칙이 삭제되었는지 확인할 수 있습니다.

sudo iptables -L

iptables 규칙이 플러시되었는지 확인했으면 아래의 iptables -P 명령을 사용하여 기본적으로 들어오는 트래픽을 차단합니다.

경고: SSH를 통해 iptables를 편집하는 경우 물리적 시스템에서 연결을 끊고 편집하십시오. 아래 명령을 실행하면 방화벽 통과를 허용할 때까지 SSH 연결이 자동으로 끊어집니다.

sudo iptables -P 입력 삭제

다음으로 iptables를 통해 시스템에서 나가는 트래픽을 허용해야 합니다. 다음 iptables -P 명령을 입력하여 iptables 방화벽을 통해 나가는 트래픽을 허용할 수 있습니다.

sudo iptables -P 출력 수락

들어오는 트래픽을 비활성화하고 나가는 트래픽을 활성화하면 특정 서비스를 허용하는 단계로 넘어갑니다.

iptables 방화벽을 통해 포트를 허용하는 방법

기본적으로 iptables -P INPUT DROP을 실행하면 모든 소스(SSH, HTTP 등)에서 들어오는 트래픽이 비활성화됩니다. 이러한 서비스를 활성화하려면 iptables 규칙에 추가해야 합니다.

간단하게 하기 위해 iptables 방화벽에서 활성화할 수 있는 공통 포트 목록은 다음과 같습니다. iptables 방화벽을 통해 활성화하려는 포트와 관련된 명령을 복사합니다.

  • HTTP(포트 80):sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  • HTTPS(포트 443):sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SSH(포트 22):sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  • FTP(포트 21):sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SMTP(포트 25):sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS(포트 53): sudo iptables -A INPUT -p udp --dport 53 -j ACCEPTUDP 또는 sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPTTCP용
  • DNS over TLS(DoT)(포트 853):sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS over HTTPS(DoH)(포트 443):sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • RDP(원격 데스크톱 프로토콜)(포트 3389):sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT
  • 가상 네트워크 컴퓨팅(VNC)(포트 5900):sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT
  • X11 포워딩(포트 6010)을 사용하는 SSH(Secure Shell):sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT
  • MySQL 데이터베이스(포트 3306):sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
  • PostgreSQL 데이터베이스(포트 5432):sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT

허용하려는 모든 포트를 허용했으면 iptables -L 로 규칙을 확인할 수 있습니다 .

sudo iptables -L

마지막으로 백업용으로 iptables 규칙을 파일에 저장합니다. iptables-save 명령 으로 이 작업을 수행할 수 있습니다 .

sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup

iptables 백업을 복원하는 방법

다른 컴퓨터에 iptables 방화벽을 재배포해야 하는 경우 다음과 같이 하십시오. 먼저 iptables -F 명령을 사용하여 기존 규칙을 플러시합니다.

sudo iptables -F

그런 다음 백업 파일을 시스템에 복사합니다. 복사가 완료되면 백업을 복원하십시오.

sudo iptables-복원 <>


Ubuntu 서버에 GitLab을 설치하는 방법

Ubuntu 서버에 GitLab을 설치하는 방법

Ubuntu 서버에서 작동하는 GitLab을 찾고 계십니까? GitLab은 GitHub와 같은 서비스에 대한 강력한 자체 호스팅 가능한 대안입니다. 그것으로 당신은 할 수 있습니다

SELinux로 Ubuntu Linux 서버 보호

SELinux로 Ubuntu Linux 서버 보호

SELinux를 설치하고 활성화하여 Ubuntu Linux 서버에 추가 보안을 추가하는 방법을 알아보십시오.

Cockpit을 ​​사용하여 Linux 서버에서 NFS 구성

Cockpit을 ​​사용하여 Linux 서버에서 NFS 구성

Linux 서버에 NFS 공유를 마운트하는 더 쉬운 방법이 필요하십니까? Cockpit 앱으로 NFS 공유를 마운트하는 방법을 알아보세요.

Ubuntu 22.04 LTS로 업그레이드하는 방법

Ubuntu 22.04 LTS로 업그레이드하는 방법

Ubuntu 22.04 장기 지원이 시작되었습니다! 데스크탑 또는 랩탑을 최신 Ubuntu 릴리스로 업그레이드하는 방법을 알아보세요.

Linux에서 최신 Nvidia GPU 드라이버를 설치하는 방법

Linux에서 최신 Nvidia GPU 드라이버를 설치하는 방법

Linux에 최신 Nvidia GPU 드라이버를 설치하는 방법

Docker 컨테이너로 파일을 전송하는 방법

Docker 컨테이너로 파일을 전송하는 방법

파일을 Docker 컨테이너로 전송해야 합니까? Docker cp 도구를 사용하면 컨테이너 간에 파일을 쉽게 이동할 수 있습니다.

Linux에 DEB 파일을 설치하는 방법

Linux에 DEB 파일을 설치하는 방법

.DEB 파일이란? 그것으로 무엇을 합니까? Linux PC에 DEB 파일을 설치할 수 있는 다양한 방법을 알아보세요.

Linux에서 GOG Galaxy를 작동시키는 방법

Linux에서 GOG Galaxy를 작동시키는 방법

GOG.com에서 게임을 소유하고 계신가요? 일부 비디오 게임을 즐기기 위해 Linux PC에 GOG Galaxy 클라이언트를 설정하고 싶으신가요? 우리가 보여주는 대로 이 가이드를 따르십시오.

CentOS에 Docker 엔진을 설치하는 방법

CentOS에 Docker 엔진을 설치하는 방법

Docker 엔진은 Linux 및 기타 플랫폼을 위한 개방형 컨테이너화 프로그램입니다. Docker 엔진은 다음과 유사하게 작동하는 독립형 컨테이너를 관리합니다.

Ferdi로 모든 채팅을 하나로 통합하는 방법

Ferdi로 모든 채팅을 하나로 통합하는 방법

Linux 시스템에 Slack, Discord 및 기타 여러 생산성 도구를 설치하는 데 지치셨습니까? 그것들이 하나로 결합될 수 있기를 바라는가?