Ubuntu 방화벽(ufw)
설치 : sudo apt install ufw
방화벽 상태확인 : sudo ufw status (verbose)
– 규칙은 순서에 따라 적용 된다
UFW 재시작 : sudo ufw reload
우분투 방화벽 켜기 : sudo ufw enable
우분투 방화벽 끄기 : sudo ufw disable
방화벽 상태(날것) 보기: sudo ufw show raw
화이트 리스트(방화벽 정책: 허용하기)
sudo ufw default allow
블랙 리스트(방화벽 정책: 차단하기)
sudo ufw default deny
- 포트만 허용/차단하기
sudo ufw allow 22/tcp
sudo ufw deny 22/tcp sudo ufw allow 33022/tcp 포트 변경했으면, 해당 포트를 열어줘야 함
- 설정된 규칙 삭제
sudo ufw delete deny 22/tcp
sudo ufw delete allow 33022/tcp - 서비스 차단
sudo ufw deny http
특정 네트워크 허용/차단 하기
sudo ufw allow from 192.168.219.150
sudo ufw deny from 192.168.219.0/24 c클래스
<방화벽 설정 후 , FTP프로그램에서 접속이 안될때>
ufw(Uncomplicated Firewall)는 서버의 포트를 제한하기 때문에, FTP가 막히는 건 흔한 문제예요. 특히 Passive FTP 모드에서 포트 범위를 열어주지 않으면 연결은 되지만 파일 전송이 안 됩니다.
FTP가 작동하지 않는 이유 요약
FTP는 두 가지 연결을 사용합니다:
- 포트 21 → 명령 제어 (control connection)
- 포트 20 또는 임의의 passive 포트 → 실제 데이터 전송 (data connection)
Passive 모드에서는 클라이언트가 서버에 연결할 때, 서버가 추가 포트 범위를 사용하게 돼요.
대부분의 FTP 클라이언트는 Passive 모드를 기본으로 사용하거든요.
UFW에서 FTP 허용하는 방법
1. 기본 포트 열기 (포트 21)
sudo ufw allow 21/tcp
2. Passive 포트 범위 열기
Passive FTP는 여러 포트를 쓰기 때문에, 범위를 정해서 열어야 해요. 예: 30000-31000
sudo ufw allow 30000:31000/tcp
3. FTP 서버 설정에서 Passive 포트 범위 고정
예: vsftpd 사용 시 /etc/vsftpd.conf 파일에 다음 추가:
pasv_min_port=30000
pasv_max_port=31000
그리고 서버의 공인 IP 주소도 설정:
pasv_address=your.public.ip.address
공인 IP는
curl ifconfig.me로 확인 가능
설정 후 vsftpd 재시작:
sudo systemctl restart vsftpd
4. UFW 다시 로드
sudo ufw reload
추가 팁
- SFTP(SSH 기반 FTP)를 쓰면 훨씬 간단하고 안전해요. 포트 22만 열면 되고 UFW와의 충돌도 거의 없어요.