iptables는 Linux 시스템에서 네트워크 트래픽을 관리하고 보호하기 위한 방화벽 도구입니다. 이를 통해 시스템 관리자는 네트워크로 들어오거나 나가는 트래픽을 필터링하고, 포트를 열거나 닫아서 보안을 강화할 수 있습니다. iptables를 사용하여 다양한 네트워크 보안 정책을 구현할 수 있으며, 이는 시스템의 안전성과 보안을 강화하는 데 중요한 역할을 하는데요. iptables 더 알아보기(링크 업데이트 예정)
iptables는 대부분의 Linux 배포판에서 기본적으로 제공되므로, 시스템 관리자들은 쉽게 이를 활용하여 네트워크 보안을 강화할 수 있어 자주 사용하게 되는 도구 입니다. 이렇게 iptables를 이용해 시스템의 방화벽을 구성 후 Linux 운영체제를 재부팅하게 되면 iptables 규칙은 자동으로 저장되지 않고 초기화됩니다. 하지만 이렇게 하는 것은 비효율적이고 위험하기도 합니다 만약 iptables 규칙을 영구적으로 유지하려면 다음과 같이 iptables-persistent
패키지를 설치하고 /etc/iptables/rules.v4
또는 /etc/iptables/rules.v6
파일에 현재 규칙을 저장해야 합니다.
튜토리얼 환경: Ubuntu 24.04v
iptables-persistent 패키지 설치
iptables를 이용해서 정책을 추가했다면 시스템의 방화벽 규칙을 영구적으로 저장하고 부팅 시에 자동으로 적용하는 데 사용되는 패키지인 iptables-persistent를 설치해야 합니다.
명령줄에 다음 명령어를 작성하고 실행하면 apt-get
패키지 관리자가 iptables-persistent
패키지를 설치하고 필요한 의존성을 함께 처리합니다. 설치 과정에서 추가적인 패키지 설치, 설정 파일의 변경 등의 동의를 요구하니 y
로 동의합니다.
sudo apt-get install iptables-persistent
설정한 규칙을 파일로 저장합니다. 일반적으로 이 파일은 /etc/sysconfig/iptables
또는 /etc/iptables/rules.v4
에 저장됩니다. 필자의 경우 다음과 같이 사용합니다.
sudo iptables-save > /etc/iptables/rules.v4
만약 IPv6 규칙을 사용하고 있다면 다음과 같이 추가로 저장해야 합니다. IPv4와 IPv6는 서로 다른 프로토콜이기 때문에, iptables
는 IPv4 규칙을 다루고, ip6tables
는 IPv6 규칙을 다룹니다. 따라서, IPv6 규칙을 저장하려면 ip6tables-save
명령어를 사용해야 합니다. IP 주소 더 알아보기
sudo ip6tables-save > /etc/iptables/rules.v6
iptables persistent 패키지의 설정을 영구적으로 구성한다는 내용의 경고 페이지가 보여지게 됩니다. IPv4와 IPv6 두 가지 단계로 보여지는데 기본적으로
에 선택되어 있으니 Enter로 동의합니다.
sudo dpkg-reconfigure iptables-persistent
적용 확인
위 과정만으로 영구 적용이 완료되지만 실제 적용이 제대로 잘 되었는지 확인하고 싶다면 다음과 같이 현재 구성을 확인하고 실제 시스템을 재부팅한 뒤 다시 구성이 유지되는지를 확인합니다.
다음 명령으로 시스템을 재부팅합니다. 재부팅시 위와 같이 세션연결이 닫히게 되는데 재부팅 후 다시 아무키나 눌러주면 연결이됩니다.
sudo reboot
명령줄에서 sudo iptables -L
또는 sudo iptables -L -m -v
명령으로 현재 방화벽 규칙을 확인해 위와 같이 그대로 유지된다면 방화벽 규칙이 영구적으로 적용된 것 입니다.