또 뭐하지
[포너블 기초] 생활코딩 리눅스 섹션 9. 인터넷, 네트워크 그리고 서버 본문
인터넷
인터넷 통신 : request, response 가 계속해서 왕래하는 컴퓨터 간의 대화
client : request를 하는 컴퓨터
server : request를 받아서 response를 하는 컴퓨터
domain name : google.com과 같이 서버에 접속할 때 사용하는 이름
ip address : 서버에 접속할 수 있는 주소.ping google.com
으로 확인해볼 수 있다.
DNS 서버 : domain name의 ip address를 저장해둔 서버
domain name을 입력하면 DNS 서버를 통해 ip address로 변환되어 서버에 접속하여 응답이 온다.
ip addr
: 본인의 ip 주소를 알 수 있는 명령어 -> 컴퓨터에 부여된 실제 ip, private addresscurl ipinfo.io/ip
: 본인 컴퓨터의 ip를 알려주는 명령어 -> 온라인 서비스 입장에서 접속 ip를 확인, public address
두 값이 같다면 컴퓨터에 부여된 실제 ip와 외부에 접속할 때 사용하는 ip가 같은 것이다. (router를 사용하지 않는 경우)
cf) curl google.com
: google의 HTML 파일을 받아서 보여준다.
router(공유기)를 사용하여 하나의 회선으로 여러개의 device에 연결해서 사용할 수 있도록 한다.
통신사가 제공한 ip(public address)는 router의 ip가 된다.
router에 연결된 각각의 컴퓨터들은 사설 ip (private address)를 사용하여 ip를 부여받는다.
apache 웹서버
sudo apt-cache search apache
: apache라는 이름을 가진 패키지를 검색sudo apt-get update;
: 프로그램 설치하기 전에 해주면 좋음sudo apt-get install apache2
: apache2 설치sudo service apache2 start
: apache2 실행
웹 서버 접속 (여러 프로그램 중 elinks 사용)sudo apt-get install elinks
: elinks 설치elinks
: elinks 실행
elinks https://[ip address]/
통해서 설치한 apache 서버에 접속해 볼 수 있다.
localhost : 동일한 컴퓨터 안에 있는 서버를 접속할 때 사용
127.0.0.1 : 자기자신을 가리키는 특수한 ip 주소
apache 설정파일 : 웹서버는 사용자가 요청한 파일을 지정된 디렉토리에서 읽어옴. 해당 설정은 apache 설정 파일에서 변경 가능./etc/apache2/apache2.conf
: apache의 메인 설정 파일/etc/apache2/sites-enabled/000-default.conf
: 기본 사이트 설정 파일. DocumentRoot 설정을 확인 가능.
DocumentRoot 설정은 기본적으로 /var/www/html로 되어 있음.var/www/html/index.html
: 기본 웹 페이지 파일. sudo nano를 통해서 편집elinks http://127.0.0.1/index.html
: 변경사항을 웹브라우저에서 확인
로그파일 : apache 웹 서버의 동작을 모니터링하고 문제를 해결하기 위해 로그 파일을 확인할 수 있습니다./var/log/apache2/access.log
: 접속기록 저장tail -f /var/log/apache2/access.log
: 실시간으로 업데이트되는 접속기록을 열람가능한 명령어/var/log/apache2/error.log
: 에러기록 저장
원격제어 ssh
sever 컴퓨터에 ssh server 설치, client 컴퓨터에 ssh client 설치
- 로컬 컴퓨터 내 설치된 ssh client를 통해 명령 전달
- ssh sever를 통해 전달받은 명령어를 sever 컴퓨터에 전달해 실행
- server 컴퓨터는 실행결과를 ssh server에 전달
- ssh server는 해당 내용을 client에 보냄
- 내용을 전달받은 client는 ssh client 화면에 내용을 보임
sudo apt-get purge openssh-server openssh-client
: 서버 삭제sudo apt-get install openssh-server openssh-client
: 서버설치sudo service ssh start
: ssh 실행sudo ps aux | grep ssh
: 실행확인
ssh \[접속하고자 한 아이디\]@\[접속하고자하는 컴퓨터 ip\]
: 원격 제어를 통해 타 컴퓨터에 접속
포트 port
포트 : 네트워크 상에서 특정 서비스나 애플리케이션이 통신을 위해 사용하는 논리적 접속 지점
ssh -p \[포트번호\] \[접속하고자 한 아이디\]@\[접속하고자하는 컴퓨터 ip\]
: 포트번호를 입력해서 접속 (포트 번호 생략해도 접속 가능)
포트 번호는 0번부터 65535번까지 사용 ex ) web : 80 / ssh : 22
Well-Known Ports (0-1023):주요 네트워크 서비스와 프로토콜에 할당된 포트
1024 바깥쪽은 임의로 할당 가능
포트 포워딩 port forwarding : 라우터나 방화벽이 외부 네트워크에서 특정 포트로 들어오는 데이터를 내부 네트워크의 특정 장치로 전달하는 기술
라우터에 사용자가 접근할 때 9000번 포트 사용
사용자는 웹브라우저 상에서 211.46.24.37:9000를 통해 라우터에 접근
라우터 설정 : 9000번 포트는 192.168.0.4:80으로 가라고 지정
그러면 192.168.0.4:80으로 데이터가 전달됨
default gateway : 공유기(라우터)의 내부에서만 통용되는 ip (내부 네트워크와 외부 네트워크(또는 인터넷) 간의 트래픽을 전달하는 역할)ip route
: default gateway 정보
'I.sly() > 9기 기초 - 포너블' 카테고리의 다른 글
[포너블 기초] 생활코딩 리눅스 섹션 11. 인터넷을 통한 서버간 동기화 rsync (0) | 2024.04.01 |
---|---|
[포너블 기초] 생활코딩 리눅스 섹션 10. 도메인 domain (0) | 2024.04.01 |
[포너블 기초] 생활코딩 리눅스 섹션 8. 그룹 (0) | 2024.03.29 |
[포너블 기초] 생활코딩 리눅스 섹션 7. 권한 (0) | 2024.03.29 |
[포너블 기초] 생활코딩 리눅스 섹션 6. 사용 (1) | 2024.03.29 |