-
LINUX 방화벽(Firewall) 서버 구축하는 방법[3편]System of Infra/Linux System 2022. 7. 15. 00:01반응형
LINUX 방화벽(Firewall) 서버 구축하는 방법[3편]
★테스트 환경
1. 리눅스 서버#1(Client)
IP address: 10.1.1.10[내부망]
2. 리눅스 서버#2(Web Server)
IP address: 10.1.1.20 [내부망]
3. 리눅스 서버#3(Firewall Server)
IP address: 10.1.1.1 [내부망 게이트웨이]
IP address: 192.168.111.100 [외부망 NAT]
4. 윈도우 서버#4(Host Client)
IP address: 공인 IP [외부 네트워크]
사설 IP 주소 범위
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
사설 IP주소가 외부의 인터넷을 접속할 때 사용할 수 있게 해주는 방법을 IP 마스커레이딩 이라고 함.▶ 윈도우 서버#4(Host Client)에 FTP Filezilla 서버를 구축하여 내부망에서 FTP 서버로 접속시 어떤 아이피 정책을 통해서 연결이 되는지 테스트 해보도록 하겠습니다.
해당 윈도우 호스트 서버의 아이피는 192.168.111.132로 설정되어 있는 것을 추가적으로 확인 후 테스트 결과를 보시면 됩니다.▶ 윈도우 서버#4(Host Client)에 Filezilla 32bit FTP-server를 설치해주도록 합니다.
▶ 윈도우 서버#4(Host Client)에 pinetree라는 FTP 계정 하나를 생성합니다.
▶ 윈도우 서버#4(Host Client)에 생성한 pinetree 계정에 패스워드를 생성하고 저장합니다.
▶ 윈도우 서버#4(Host Client)의 공유 사용할 홈 디렉토리 폴더를 지정합니다. 해당 윈도우 서버에서는 C:\PerfLogs 디렉토리를 지정하도록 하겠습니다.
▶ 윈도우 서버#4(Host Client) Powershell을 통해 FTP를 허용할 수 있도록 21번 FTP 포트를 활성화 해주도록 합니다.
리눅스 서버#1(Client) [root@localhost /]# dnf -y install ftp CentOS-8 - AppStream 4.5 kB/s | 4.3 kB 00:00 CentOS-8 - Base 2.0 kB/s | 3.9 kB 00:01 CentOS-8 - PowerTools 2.3 kB/s | 4.3 kB 00:01 CentOS-8 - Plus 1.6 kB/s | 3.0 kB 00:01 CentOS-8 - Extras 814 B/s | 1.5 kB 00:01 종속성이 해결되었습니다. ================================================================================================================ 꾸러미 아키텍처 버전 리포지토리 크기 ================================================================================================================ Installing: ftp x86_64 0.17-78.el8 AppStream 70 k 거래 요약 ================================================================================================================ 설치 1 꾸러미 총 다운로드 크기 : 70 k 설치 크기 : 112 k 패키지 다운로드중: ftp-0.17-78.el8.x86_64.rpm 30 kB/s | 70 kB 00:02 ---------------------------------------------------------------------------------------------------------------- ...(생략) 준비 중입니다 : 1/1 Installing : ftp-0.17-78.el8.x86_64 1/1 스크립틀릿 실행: ftp-0.17-78.el8.x86_64 1/1 확인 중 : ftp-0.17-78.el8.x86_64 1/1 설치됨: ftp-0.17-78.el8.x86_64 완료되었습니다!
▶ 리눅스 서버#1(Client)에서 FTP 윈도우 서버에 접속 테스트를 위해서 FTP 패키지를 설치하도록 합니다.
리눅스 서버#1(Client) [root@localhost /]# ftp 192.168.111.132 Connected to 192.168.111.132 (192.168.111.132). 220-FileZilla Server 0.9.60 beta 220-written by Tim Kosse (tim.kosse@filezilla-project.org) 220 Please visit https://filezilla-project.org/ Name (192.168.111.132:root): pinetree 331 Password required for pinetree Password: 230 Logged on Remote system type is UNIX. ftp> pwd 257 "/" is current directory.
▶ 리눅스 서버#1(Client)에서 윈도우 서버#(Host Client)로 FTP 접속이 성공된것을 확인할 수 있습니다.
▶ 윈도우 서버#4(Host Client) Powershell에서 netstat /an 명령어를 수행하게 되면 192.168.111.100:45282에서 ESTABLISHD가 되었다는 결과 값이 보이게 됩니다.
이것은 리눅스 서버#1(Client)의 내부망 아이피인 10.1.1.10에서 출발을 하였지만 리눅스 서버#3(Firewall Server) 10.1.1.1 내부망 게이트웨이를 통과하고 192.168.111.100 외부망 NAT의 아이피로부터 통신이 되기 때문에 결과적으로 마지막 확인된 아이피인 192.168.111.100을 통해서 FTP 서버에 접근이 된 것을 확인할 수 있습니다.
★방화벽 서버 구축 로직 순서
1번 리눅스 서버#1(Client) IP address: 10.1.1.10 [내부망]
2번 리눅스 서버#3(Firewall Server) IP address: 10.1.1.1 [내부망 게이트웨어]
3번 리눅스 서버#3(Firewall Server) IP address: 192.168.111.100 [외부망 NAT]
4. 윈도우 서버#(Host Client) IP address: 공인 IP [외부 네트워크]▶ 리눅스 서버#2(Web Server)에 웹 서버를 구축하고 외부의 윈도우 서버#(Host Client)에서 웹 서버로 접속할 수 있는 방화벽 정책 설정을 하기 전에 간단한 웹 서버 구축을 위해서 httpd 패키지를 설치합니다.
▶ 리눅스 서버#2(Web Server)에서 웹 서버를 사용할 수 있도록 http 서비스에 대해서 방화벽 오픈을 해주도록 합니다. 서비스 활성화가 되면 저장을 합니다.
리눅스 서버#3(Firewall Server) [root@localhost /]# iptables --table nat --append PREROUTING --proto tcp --in-interface ens160 --dport 80 --jump DNAT --to-destination 10.1.1.20 [root@localhost /]# iptables-save > /etc/sysconfig/iptables
▶ 리눅스 서버#3(Firewall Server)에서 외부에서 80번 포트로 들어오는 아이피에 대해서 목적지를 10.1.1.20인 리눅스 서버#2(Web Server)에게만 오픈을 하겠다는 iptables의 정책을 설정합니다. 설정 후 iptables 설정을 저장하고 완료합니다.
리눅스 서버#3(Firewall Server) [root@localhost /]# nmcli connection down ens160 연결 'ens160'이(가) 성공적으로 비활성화되었습니다(D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/1). [root@localhost /]# nmcli connection up ens160 연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/5)
▶ 리눅스 서버#3(Firewall Server)의 외부망으로 연결되는 인터페이스 ens160을 재활성화시켜줍니다.
▶ 리눅스 서버#2(Web Server)에서 간단한 웹서버 구축을 위해서 /var/www/html 디렉터리에서 index.html 파일을 생성합니다.
▶리눅스 서버#2(Web Server)에서 index.html 파일에 웹 서버에 접속 시 firewall web server test라는 문구가 출력되게 설정을 한 뒤 저장합니다.
▶ 리눅스 서버#2(Web Server)에서 httpd 서비스를 재시작합니다. 그리고 재부팅 후에도 영구적으로 활성화될 수 있도록 enable 설정까지 합니다.
▶ 윈도우 서버#4(Host Client)에서 웹서버에 접속을 하게 되면 index.html 파일에 작성했던 firewall web server test 문구가 출력되면서 간단하게 생성된 웹 서버에 접속이 성공한 것을 확인할 수 있습니다.
2022.07.13 - [System of Infra/LINUX] - LINUX 방화벽(Firewall)서버 구축하는 방법[1편]
2022.07.14 - [System of Infra/LINUX] - LINUX 방화벽(Firewall)서버 구축하는 방법[2편]
2021.06.01 - [System of Infra/LINUX] - LINUX Centos 7 방화벽 설정 및 확인
PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.
포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.
반응형'System of Infra > Linux System' 카테고리의 다른 글
LINUX 메일서버 구축하는 방법[2편] - Sendmail/dovecot (0) 2022.07.19 LINUX 메일서버 구축하는 방법[1편] - Sendmail/dovecot (8) 2022.07.17 LINUX 방화벽(Firewall)서버 구축하는 방법[2편] (8) 2022.07.14 LINUX 방화벽(Firewall)서버 구축하는 방법[1편] (2) 2022.07.13 LINUX PROXY(프록시)서버 구현하는 방법 (18) 2022.07.11