OCI: 패키지 설치/업데이트 및 인스턴스 간 통신을 위한 iptables 정책 설정하기
wordpress와 mariaDB로 무료 웹 서비스를 구축하기 위해서는 기존 패키지를 업데이트하고 각각의 인스턴스에 WordPress 및 MariaDB를 설치해야 합니다. 특히 Private Subnet에 설치된 인스턴스(vm4mariadb)에서 외부 저장소를 통해 패키지를 설치 및 업데이트할 수 있도록 자체 방화벽 허용 정책을 등록해야 합니다.(iptables 명령어 사용법 참고)
- Public Subnet에 설치된 “vm4wordpress”의 정책 확인 및 등록
- INPUT 체인(Chain)에 설정된 규칙을 확인해 봅니다.
ubuntu@vm4wordpress:~$ sudo iptables -L INPUT ACCEPT tcp -- anywhere anywhere tcp dpt:http ACCEPT tcp -- anywhere anywhere tcp dpt:https ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
- 기본적으로 위와 같은 접속 허용 정책이 반영되어 있을 겁니다. 외부에서 웹 서버(80포트와 443포트) 및 ssh(22포트) 접속이 허용되지 않았다면 아래와 같이 정책을 추가합니다.
sudo iptables -I INPUT 2 -p tcp --dport 443 -j ACCEPT sudo iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT
- “vm4mariadb” 인스턴스가 “vm4wordpress” 인스턴스를 경유해서 인터넷에 접속할 수 있도록 IP Forward 환경을 구성합니다.
sudo sysctl -w net.ipv4.ip_forward=1 sudo sh -c 'echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf' sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE sudo iptables -P FORWARD ACCEPT sudo iptables -A FORWARD -s 10.0.200.0/24 -i ens3 -j ACCEPT sudo iptables -A FORWARD -d 10.0.200.0/24 -o ens3 -j ACCEPT sudo iptables -A FORWARD -i ens3 -o ens3 -j REJECT
- reboot 시에도 방화벽 룰이 적용될 수 있도록 저장합니다.(/etc/iptables/rules.v4)
sudo apt install iptables-persistent sudo netfilter-persistent save --또는 sudo sh -c 'sudo iptables-save > /etc/iptables/rules.v4'
- INPUT 체인(Chain)에 설정된 규칙을 확인해 봅니다.
- Private Subnet에 설치된 “vm4mariadb”의 정책 확인 및 등록
- ssh 접속이 허용되어 있는지 확인하고, 정책이 등록되어 있지 않다면 등록합니다.
- “vm4wordpress” 인스턴스에서 mariadb에 접속할 수 있도록 3306포트를 허용합니다.
sudo iptabless -I INPUT 2 -p tcp -s 10.0.100.0/24 --dport 3306 -j ACCEPT
- reboot 시에도 방화벽 룰이 적용될 수 있도록 저장합니다.(/etc/iptables/rules.v4)
sudo apt install iptables-persistent sudo netfilter-persistent save -- 또는 sudo sh -c 'sudo iptables-save > /etc/iptables/rules.v4'
인스턴스에서 사용한 이미지 및 버전에 따라 워드프레스(wordpress)와 마리아DB(mariadb)를 설치하는 방법과 의존 패키지가 다르기 때문에 최신 설치 방법을 확인하는 방법은 인터넷이 더 정확할 겁니다. 필요하시다면 CentOS8에 워드프레스와 마리아DB를 설치하는 방법을 간단히 읽어 보시고 본인의 인스턴스에 맞게 설치하시면 됩니다.
