사용 방법
- 템플릿(예, Web 서버 (SSH, HTTP, HTTPS))을 고르거나 규칙을 직접 편집하세요.
- 규칙마다 포트, 프로토콜, 출발지 주소(비워 두면 모든 곳), 허용 또는 차단을 입력하세요.
- SSH 포트를 설정하고, 그 외 모든 수신 트래픽을 차단할지 정하세요.
- 방화벽을 고르고 명령어를 서버의 root 셸에 복사해 실행하세요.
옵션 설명
- 포트
- 단일 포트(22), 목록(80,443), 범위(8000-8100) 중 하나로 입력합니다.
- 출발지
- 203.0.113.0/24 같은 IPv4 또는 IPv6 주소나 네트워크입니다. IPv6 출발지는 ip6tables로 출력됩니다.
- 그 외 모든 수신 트래픽 차단
- 수신 기본 정책을 거부로 설정합니다. 송신 트래픽은 계속 허용됩니다.
출력 예시
규칙 세 개이고, SSH는 22번 포트이며 기본 정책은 거부예요. 203.0.113.5에서만 SSH를 허용하고, 모든 곳에서 TCP 80, 443번 포트를 허용하며, 198.51.100.0/24에서 25번 포트로 오는 것을 차단해요. 처음 일치한 규칙이 적용되므로 차단 규칙이 가장 먼저 쓰여요.
# ufw
ufw default deny incoming
ufw default allow outgoing
ufw deny from 198.51.100.0/24 to any port 25 proto tcp
ufw allow from 203.0.113.5 to any port 22 proto tcp
ufw allow 80,443/tcp
ufw enable
# iptables
iptables -A INPUT -p tcp -s 198.51.100.0/24 --dport 25 -j DROP
iptables -A INPUT -p tcp -s 203.0.113.5 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -P INPUT DROP
firewalld에서는 모두에게 열리는 포트는 --add-port를 쓰고, 출발지가 있거나 차단하는 규칙은 rich rule을 써요. SSH 규칙이 출발지 주소가 있는 것 하나뿐이므로, firewalld 명령은 영역에서 기본 ssh 서비스도 함께 제거해요. 이 단계가 없으면 영역이 여전히 22번 포트로 모두의 접속을 허용해요.
자주 묻는 질문
내 접속이 끊기지 않게 하려면 어떻게 하나요?
SSH 포트를 허용하는 규칙을 반드시 남겨 두세요. SSH를 특정 IP로 제한한다면 먼저 현재 IP를 확인하세요. 클라우드 제공업체의 웹 콘솔을 열어 두면 다시 들어갈 방법이 됩니다.
포트를 열었는데도 접속이 안 되는 이유는 무엇인가요?
클라우드 서버는 제공업체 콘솔에도 보안 그룹이나 네트워크 방화벽이 있는 경우가 많아, 그곳에서도 포트를 열어야 합니다. 또한 ss -tlnp 같은 명령으로 서비스가 해당 포트에서 대기 중인지 확인하세요.
내 서버는 어떤 방화벽을 쓰나요?
Ubuntu와 Debian은 보통 ufw를, RHEL, Rocky, AlmaLinux, CentOS는 firewalld를 사용합니다. 둘 다 커널 방화벽의 프런트엔드이므로 하나만 사용하고 순수 iptables 명령을 섞지 마세요.
개인정보 보호
이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.