리눅스에서 네트워크 설정하기
- Virtual Network Editor (가상 머신의 공유기 역할) 에서 관리자 권한으로 접속한다.
- Name :
VMnet8
/ Type : NAT
을 선택한다.
- Subnet IP : 77.77.77.0 (임의 지정) / Subnet mask : 255.255.255.0 로 설정한뒤
Apply 한다.
- 리눅스 서버로 돌아와서
vi /etc/sysconfig/network-scripts/ifcfg-ens160
를 입력하여 네트워크 설정을 변경한다.
- BOOTPROTO : dnhs(자동) -> static(수동) / ONBOOT : no -> yes 로 변경해준다.
- IPADDR는 VMware에서 Gateway 주소를 끝자리 2 로 자동 설정해주기 때문에
Subnet IP인 0과 2를 제외한 255 이하의 숫자중에서 임의로 지정해준다.
- NETMASK, GATEWAY, DNS1(임의로 8.8.8.8로 지정하였음) 을 설정해준뒤 저장한다.
- 설정을 변경한 뒤에는 반드시
systemctl restart NetworkManager
를 실행하여 적용해준다.
- 적용 후 IP 주소가 정상적으로 설정되었는지
ip addr
명령어로 확인해준다.
- 만약 IP 주소가 이전 주소와 새로 설정한 주소 2개가 잡혀있다면 시스템을 재부팅
( init 6
해준다. )
- 변경 후 통신이 잘 되는지 확인해준다. (
ping 8.8.8.8
)
- 발생하는 대표적인 오류 2가지
- destination unreachable : 특정 컴퓨터를 찾아가지 못할때 발생하는 오류
(IP 설정 문제)
- time exceeded : 특정 컴퓨터를 찾아갔지만 거부됬을때 (대부분 방화벽 문제)
리눅스에서 nginx (웹 서버) 설치 및 실행하기
-
설치 명령어를 통해 nginx 를 설치해준다. ( yum install -y nginx
)
-
설치 후 설치된 프로그램을 확인해준다. ( rpm -qa | grep nginx
)
-
nginx 를 실행해준다. ( systemctl start nginx
)
-
프로세스를 확인한다. ( ps -ef | grep nginx
)
-
포트번호를 확인한다. ( netstat -anlp | grep nginx
)
/ 만약 명령어 실행이 안된다면 tool을 설치해준다. ( yum install -y net-tools
)
-
서비스 실행상태를 확인한다. ( systemctl status nginx
)
-
다음으로 가장 중요한 것은 "방화벽 해제" 이다. 현재 nginx는 80번 포트를 사용하고 있기 때문에 80번 포트를 허용해줘야 접속이 가능하다.
-
방화벽 허용 후 내 IP 주소 : 77.77.77.121
를 입력하면 nginx 웹 서버로 접속이 되는것을 볼 수 있다.
포트 번호, html 파일로 접속 시도하기
- nginx의 html 디렉토리로 이동한다. (
cd /usr/share/nginx/html
)
- 파일을 하나 생성한다. (
touch test.html
)
- 파일 내용은 임의로 작성한다. 나는 " hello world! " 로 작성하였다.
- 다시 웹 서버로 접속해본다. (
77.77.77.121:80/test.html
)
포트 포워딩 설정하기
-
포트 포워딩이란 ? (개인적으로 이해한 내용)
- 사설 IP가 client 에게 보이지 않기 때문에 공유기에 포트 포워딩 설정을 함으로써 client 가 서버로 접속할 수 있도록 해주는 작업.
결국 client는 공유기를 찾아감으로써 서버로 접속할 수 있게 됨.
- 즉, 공유기에 [공인 IP 주소:호스트포트] 로 client가 찾아오면
가상머신 [사설 IP 주소:가상머신의 프로그램 포트] 로 보내준다.
-
Virtual Network Editor를 관리자 권한으로 실행 후 VMnet8을 선택 후 NAT Settings 클릭한다.
-
ADD 를 클릭하여 아래대로 입력해준 후 적용한다.
(호스트 포트 : 임의 지정 / IP 주소 : 가상 머신의 사설 IP 주소 / 가상 머신 포트 : 80)
-
제대로 설정이 되었다면, 같은 공유기를 사용하는 다른 사람의 PC 에서 나의 윈도우
IP 주소( 예시 : 777.777.0.777:7777/test.html
)를 입력하면 웹 서버로 정상적으로 접속되는 것을 확인할 수 있다.
오늘의 과제 : 집에서 생성한 웹 서버를 교육장에서 접속 가능토록 구현
- 과제는 위의 내용대로 설정을 끝낸 기준부터 시작하겠다.
- 설정이 끝났다면, 포트 포워딩을 한번 더 설정해서 교육장에서 집 PC의 IP로 접근이 가능토록 해주면 된다.
- 그러기 위해선 집 PC 공유기 관리자 화면으로 들어가 포트 포워딩 설정을 해준다.
- 외부 포트 : 접속할 상대에게 알려줄 포트 번호이다. (임의로 지정)
- 내부 IP 주소 : 집 PC의 윈도우 IP 주소이다. (cmd 창에서 ipconfig 명령어로 확인 가능)
- 내부 포트 : 리눅스 가상머신에서 포트 포워딩 설정 시 지정했던 포트 번호
- 다음으로 가장 중요한 것은 윈도우에서 내부 포트(
7777
)에 접근할 수 있도록
방화벽을 허용해주는 것이다!!
- 방화벽 고급 설정으로 들어가서 인바운드 규칙을 클릭한다.
- 작업창에서 새 규칙을 클릭한다.
7777
포트에 대한 규칙을 새로 생성한 뒤 방화벽을 허용해준다.
- 휴대폰을 데이터로 전환한 뒤 인터넷 창에서 [ 외부 IP 주소:8282/test.html ] 를 입력하면 웹 서버로 접속되는 것을 볼 수 있다.
- 외부 IP 주소는 윈도우 PC의 외부 주소를 말한다. (구글 검색 등 다양한 방법으로 찾을 수 있음)