티스토리 뷰
1. 인터넷 서비스의 이해
- 클라이언트와 서버는 항상 같이 가는 개념(둘 중 하나만 존재 하는 상황은 없음)
1)클라이언트(=클라이언트 프로그램이라고 생각하는 게 좋음)
- 정의: 서비스를 요청. 클라이언트 프로그램이 설치되어 있기 때문에 클라이언트.
- 웹 브라우저 = 웹 클라이언트: Chrome, Firefox, Edge
2)서버(=서버 프로그램이라고 생각하는 게 좋음)
- 정의: 서비스를 제공/응답하는 역할. 서버 프로그램이 설치되어 있기 때문에 서버.(내 컴퓨터에도 서버 프로그램을 깔게 되면, 서버로써 사용할 수 있음)
- Apache: unix, linux, windows에서 모두 운영 가능(전세계 80%이상 사용)
- IIS: windows에서만 운영 가능
2.인터넷 프로토콜의 이해
1) TCP/IP 프로토콜
- 차등 레벨: 클라이언트와 서버
2) Peer to Peer(P2P) 프로토콜
- 동등 레벨: 클라이언트와 클라이언트 또는 서버와 서버
3. 데몬(Daemon)
1) Daemon의 정의
- HDD/SSD에 있던 프로그램이 Main Memory에 올라가 실행이 됨(프로세스가 됨)
- 서비스를 하는 프로세스이기 때문에 서버라고 하기도 함.
- 서비스 하려고 Main Memory에 올라간 상태의 서비스 프로세스를 리눅스에서는 데몬(Daemon)이라고 부르며, 보통 뒤에 d가 붙은 데몬명이 있음.
ex) httpd
2) Daemon의 작동 방식 구분
- 메모리 관리: 자주 사용하는 서비스는 Standalone 방식으로, 가끔 사용하는 서비스는 Xinetd 방식(슈퍼 데몬 방식) 사용
- Standalone은 항상 주기억 장치에 올라가 있지만, 슈퍼 데몬 방식은 웹서버가 HDD에 있으며 xinetd만 M.M에 올라가 있음.
- inetd는 지금은 사용하지 않는다.
- 차이점이 있을 뿐이지 어느게 더 좋다 이런 건 없음
3. 고정 IP
1) 고정 IP 주소 설정
> 파일 경로: /etc/NetworkManager/system-connections/ens160.nmconnection 파일 수정
[ipv4]
method=auto
address1=192.168.10.50/24,192.168.10.2
dns=8.8.8.8; (이건 안 적어도 됨)
만약 virtual machine이 하나 더 있을 때
[ipv4]
method=auto
address1=192.168.10.50(이 부분만 바꾸면 됨)/24,192.168.10.2
dns=8.8.8.8; (이건 안 적어도 됨)
2) 네트워크 서비스 재시작
#systemctl restart NetworkManager -> #ifconfig로 바뀌었는지 확인
만약 아래 사진과 같이 바뀌지 않았다면, reboot 후 #systemctl restart NetworkManager -> #ifconfig로 바뀌었는지 확인하면 됨
#ping 8.8.8.8 확인
만약 ping 명령어가 먹지 않는다면
Edit > Virtual Network Editor에 들어간다.
마지막 NAT type을 선택해서 아래와 같이 편집한다.
왼쪽 아래에 Subnet IP도 192.168.10.0으로 바꾸어야 한다.
이 후 다시 reboot하고, ifconfig와 ping을 통해 상태를 확인한다.
4. 네트워크 관련 명령어
> 네트워크 연결 상태 확인
1) ping [목적지 호스트]
#ping 8.8.8.8(구글 dns 서버까지 갔다가 돌아옴)
2) ifconfig
> IP 설정 정보 확인
둘이 같은 의미
inet 192.168.10.50 netmask 255.255.255.0
192.168.10.50/24
3) route -n
192.168.10.100/24. 192.168.10.2
5. 서버 접속
> 원격 접속
1) telnet
2) ssh
============================================================================================
6. 서버 구축
<Telnet 서버 구축 >
> 원격 접속 프로그램
> 포트 번호: 23번
1) 프로그램 설치
> 서버: telnet-server
> 클라이언트: telnet
> 데몬명: telnet.socket
> 환경 설정 파일: /usr/lib/systemd/system/telnet.socket
#yum -y install telnet-server
2) 서버 시작/재시작/중지/상태
#systemctl start/restart/stop/status [서비스명/데몬명]
#systemctl restart telnet.socket
< 한 세트 >
#systemctl stop firewalld
#grubby --update kernel ALL --args selinux=0
#systemctl restart telnet.socket
> 서비스 자동 실행 활성화, 비활성화
: reboot 해도 해당 서비스가 자동으로 활성화/비활성화 되게 할 수 있음
#systemctl enable telnet.socket <-- 활성화
#systemctl disable telnet.socket <-- 비활성화
3) 클라이언트에서 서버 접속해보기
> 서울에서 분당에 있는 서버에 접속할 수 있는 상황과 같다 ... (참 신기한 것 같다.)
#telnet [서버 IP 주소]
#telnet 192.168.10.100
필자는 Rocky_Linux_Server_50(192.168.10.50)과 Rocky_Linux_Server_100 (192.168.10.100) 두 개의 가상 머신이 있다.
50에서 100으로 접속해보겠다.
서버 컴퓨터로 쓰고 싶은 아이에게만 모두 6-1) 프로그램 설치부터 6-2) 서버 실행까지 해둔 상태를 만든다.
필자는 50에서 100으로 접근하고 싶으므로 50이 클라이언트, 100이 서버 역할이다.
따라서 100만 해두었다.
(단, 100도 클라이언트 역할을 할 수 있다. 이후에 50도 서버로서의 세팅을 마치면 100에서 50으로 접근할 수 있는 것이다.)
그러고 난 후 100에서 방화벽을 멈춘다.
그 후 서버 50에서 서버 100으로 접근할 수 있다.
#ifconfig로도 잘 접속했는지 확인할 수 있다.
만약 연결을 끊고 싶으면 #exit 명령어를 치면 된다.
잘 빠져나간 것을 확인할 수 있다.
4) Telnet 서버 포트 변경
> 포트: 23 -> 213
> telnet 환경 설정 파일: /usr/lib/systemd/system/telnet.socket
환경 설정 파일이 있는 디렉터리로 이동 후
vi 에디터로 telnet.socket 환경 설정 파일 열기
ListenStream을 213으로 변경
환경 설정 바꿨으니 reboot 후 telnet 서버 restart
< ssh 서버 구축 >
- 암호화 키를 생성해라 !
=============================================================================
번외
> 방화벽 중단
#systemctl start/restart/stop/status [서비스명] - 방화벽도 서비스다 !
#systemctl stop firewalld
> telnet과 ssh의 차이
telnet은 보안에 훨씬 취약함
CTRL+G: VM 진입
CTRL+ALT: VM에서 나오기
- Total
- Today
- Yesterday
- 베라의 패션
- 알고리즘
- 데이터추상화
- SWLIfeCycle
- 삼각형과세변
- 약수
- 25314
- 26069
- 25304
- 다음소수
- 27323
- SW생명주기
- 개발계발
- 백준
- 피보나치수5
- python
- 파이썬
- C언어
- 붙임성 좋은 총총이
- 약수들의합
- 배수
- 점근적표기
- 칸토어 집합
- 브라우저뜻
- 직사각형
- 4779
- 브라우저
- 배수와약수
- 과제안내신분
- C99
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |