[Linux]두 개의 가상머신 네트워크 연결 및 Apache 서버 실행 | dasfef

2023.10.30

개인 기록용 입니다 :) 오타, 수정 등 피드백 환영

지난 시간에 네트워크 설정으로 각 가상머신 두 개에 설치된 리눅스를 NAT 로 연결해주었고 정적 IP를 할당해 주었다 LINUX 네트워크 설정 그리고 이제는 CentOS에 Apache를 설치하고 다른 리눅스 가상머신에서 해당 서버의 웹으로 접속하는 방법을 알아보자 CentOS에 Apache 설치 CentOS에서는 우분투와 다르게 apt-get을 통해 패키지 설치하는 것을 권장하지 않는다고 한다 만일 apt가 깔려 있는 것을 확인하고 싶다면 $ yum list apt 해당 명령어를 통해 확인해보자 약간의 시간이 소요된 뒤 목록과 일치하는 꾸러미가 없다고 나온다 CentOS 에서는 yum을 활용해 패키지를 설치하면 된다 $ yum install httpd y를 눌러 설치를 진행하면 설치 완료 메세지가 나온다 $ sudo systemctl start httpd 를 통해 Apache 서버를 실행시켜주고 $ sudo systemctl status httpd 를 통해 현재 Apache 서버가 어떤 상태인지 확인한다 이미지와 같이 active가 뜬다면 정상적으로 서버 작동이 완료되었다 방화벽 커맨드 CentOS 에는 기본적으로 firewalld 가 방화벽으로 작동한다 $ sudo firewall-cmd ~ 의 커맨드로 여러가지 방화벽 설정을 할 수 있다 다른 리눅스에서 NAT로 네트워크가 연결된 곳으로 웹 접속을 하기 위해선 방화벽 설정에서 딱히 건드릴 것이 없다 CentOS 방화벽 firewalld 에는 Zone이란 것이 있다 $ sudo firewall-cmd --get-zones 명령어로 현재 어떤 Zone이 존재하는지 확인해보면 block / dmz / external / home internal / nm-shared / public trusted / work 등의 존의 종류들이 나온다 지금까지 공부한 것은 public : 공개적인 존 drop : 특정 ip 차단을 위한 존 두 가지이며 이것으로도 활용이 가능하니 나머지 명령어 및 개념은 추후 차차 정리하도록 하자 우선 아무 행동하지 않아도 서버에 활성화되고 있는 존은 public 이다 이 존에 대해 갖가지 행동을 취하거나 정책을 부여할 수도 있는데 --add-source={특정 IP 주소} 를 통해 특정 IP만 접속할 수 있도록, --add-service={특정 정책} 을 통해 ssh, ssl 등 정책 부여, --add-port={특정 포트 넘버} 를 통해 특정 포트의 접속 허용 등의 명령을 내릴 수 있고 존에 국한되지 않더라도 방화벽 자체에 이러한 명령을 추가할 수 있다 ex)

$ sudo firewall-cmd --zone=public --add-source=192.168.100.1/24 // 특정 IP 접속 가능 $ sudo firewall-cmd --zone=public --add-service=ssh // ssh 추가 정책 $ sudo firewall-cmd --zone=public --add-port=80/tcp // 80/tcp 포트 추가


그런데 drop 존에 해당 포트 혹은 특정 IP를 add 함으로써 차단시킬 수 있는 기능도 있다

ex)

$ sudo firewall-cmd --zone=drop --add-source=192.168.100.1 // 192.168.100.1 IP 차단

$ sudo firewall-cmd --zone=drop --add-port=80/tcp // 80번 포트 차단

이러한 명령어들을 활용하여 갖가지 정책 부여 혹은 특정 행동을 취할 수 있게 하고 기본적으로 NAT로 연결되어 있기 때문에 kali linux 에서 CentOS로 부여한 IP로 접속을 해보면 웹 접속을 잘 할수 있음을 알 수 있다 리눅스 명령어 모음