CentOS 7에서 방화벽 설정을 위해서는 firewalld 서비스를 사용한다. 모든 외부 접근을 막고, 특정 아이피에 대해서는 SSH로 접속이 가능하게 하려면 다음과 같은 방법을 사용할 수 있다.
- firewalld 서비스가 실행 중인지 확인한다.
sudo systemctl status firewalld
- firewalld 서비스가 실행 중이지 않다면, 다음 명령어를 사용하여 시작한다.
sudo systemctl start firewalld
- 모든 외부 접근을 막기 위해 기본 정책을 설정한다.
sudo firewall-cmd --set-default-zone=drop
- SSH 포트를 열어준다. 기본 포트인 22번을 사용하는 경우, 아래와 같이 입력한다.
sudo firewall-cmd --add-port=22/tcp --permanent
만약 SSH 포트를 다른 번호로 변경한 경우, 해당 포트를 입력해 주어야 한다.
sudo firewall-cmd --add-port=<포트번호>/tcp --permanent
- 특정 아이피에 대해서만 SSH로 접속이 가능하도록 허용한다. 아래 명령어에서 192.168.0.100은 접근을 허용할 아이피 주소다.
sudo firewall-cmd --add-rich-rule='
rule family="ipv4"
source address="192.168.0.100/32"
service name="ssh"
accept'
- 변경된 설정을 적용한다.
sudo firewall-cmd --reload
위 방법을 통해 모든 외부 접근을 막고, 특정 아이피에 대해서만 SSH로 접속이 가능하게 할 수 있다.