● 리눅스 웹서비스 설정
웹 서비스 설정
ai apache2
systemctl start apache2
54 mount -t vboxsf win /yes
255 cp /yes/my1.png .
258 ls
cd /var/www/html
259 mv index.html old.html
<meta charset='utf-8'>
<body bgcolor=black text=white> <br><br> <h1><center>
<hr> <br>
한아리 <br><br>
<hr><br><br>
<img src='my1.png'>
● su -root 와 sudo -i랑 같은가?
->su -root과 sudo -i는 비슷한 목적 but 약간의 차이가 있다.
su -root는 root 계정으로 로그인하는 명령어
이 명령어를 사용하면 현재 사용자의 권한을 root로 변경하고 root 계정으로 로그인한다.
이 명령어를 사용할 때는 root 계정의 암호를 입력해야 합니다.
반면, sudo -i는 현재 사용자가 root 권한으로 일시적으로 실행할 수 있도록 해주는 명령어
sudo -i를 사용하면 root 권한으로 새로운 셸을 실행
이때 현재 사용자의 비밀번호를 입력해야 한다.
일반적으로 sudo를 사용하여 권한을 일시적으로 올리는 것이 더 안전하고 권장된다.
● l='ls -AlCFh' 와 ㅣ='ls -ALF' 의 차이점이 뭘까?
->l='ls -AlCFh'와 l='ls -ALF'는 둘 다 리눅스에서 ls 명령어를 실행할 때 옵션 지정에 사용되는 변수
- l='ls -AlCFh': ls 명령어를 실행할 때 다음과 같은 옵션을 사용
- A: 숨겨진 파일 및 디렉토리를 포함한 모든 파일과 디렉토리를 출력
- l: 자세한(long) 정보를 출력
- C: 파일과 디렉토리를 열 컬럼으로 정렬하여 출력
- F: 파일 유형을 나타내는 문자를 파일 이름 뒤에 추가
- h: 파일 크기를 보기 쉬운 형식(KB, MB 등)으로 출력
-> l='ls -AlCFh' 명령어를 실행하면 자세한 정보와 파일 및 디렉토리 이름, 파일 유형, 크기 등이 정렬되어 보여진다
- l='ls -ALF': 이 변수는 ls 명령어를 실행할 때 다음과 같은 옵션을 사용
- A: 숨겨진 파일 및 디렉토리를 포함한 모든 파일과 디렉토리를 출력
- L: 심볼릭 링크 파일의 경우 해당 파일이 아닌 링크된 파일의 정보를 출력
- F: 파일 유형을 나타내는 문자를 파일 이름 뒤에 추가
-> l='ls -ALF' 명령어를 실행하면 파일 및 디렉토리 이름과 파일 유형만 보여지고 자세한 정보는 보여지지 않습니다. 또한, 링크된 파일의 정보가 출력된다
● ufw enable 이란?
->ufw enable은 리눅스에서 Uncomplicated Firewall (ufw)을 활성화하는 명령어
ufw는 iptables를 기반으로 하며 보안 설정을 간단하게 관리할 수 있도록 도와주는 프론트엔드 도구
ufw를 활성화하면 시스템에 대한 들어오는 네트워크 연결에 대해 미리 정의된 보안 규칙이 적용된다
ufw enable 명령어를 입력하면, ufw가 활성화되고 부팅 시 자동으로 시작되도록 설정되고, 이후 ufw 명령어를 사용하여 ufw의 설정을 변경하거나 보안 규칙을 추가할 수 있다.
$ sudo ufw enable
명령어 사용시 현재 설정된 ufw 규칙이 적용되고 부팅 시 ufw가 자동으로 시작되도록 설정된다.
sudo는 이 명령어를 root 권한으로 실행하도록 허용
● timedatectl 이란?
->timedatectl은 시스템의 시간과 날짜 설정을 관리하는 명령어
systemd 시스템과 함께 제공, 시스템의 시간대(Timezone)와 NTP(Network Time Protocol) 서버 설정을 변경 가능하다.
- timedatectl status: 시스템의 현재 시간 정보를 출력
- timedatectl set-timezone <timezone>: 시스템의 시간대를 변경
- timedatectl set-ntp <yes|no>: NTP 서버를 사용할지 여부를 설정. yes로 설정하면 시스템 시간을 자동으로 동기화
- timedatectl list-timezones: 사용 가능한 시간대 목록을 출력
- 예를 들어, timedatectl set-timezone Asia/Seoul 명령어를 사용하여 시스템의 시간대를 한국 표준시로 변경 + timedatectl set-ntp yes 명령어를 사용하여 NTP 서버를 사용하여 시스템 시간을 자동으로 동기화 가능
● 공유라이브러리 ldd란?
->ldd는 공유 라이브러리를 사용하는 바이너리 파일에서 해당 라이브러리를 참조하고 있는지를 확인하는 명령어 중 하나. ldd를 사용하여 바이너리 파일에서 필요한 공유 라이브러리 파일이 무엇인지 파악할 수 있다.
공유 라이브러리란, 여러 프로그램에서 공통적으로 사용되는 기능을 라이브러리 형태로 구현해놓은 것, 프로그램이 실행될 때 메모리에 로드되어 사용된다.
공유 라이브러리는 여러 프로그램에서 공유해서 사용하므로, 시스템 전체의 자원을 효율적으로 사용할 수 있다.
ldd 명령어는 주어진 바이너리 파일이 참조하는 공유 라이브러리 파일들의 경로와 이름을 출력.
이를 통해 해당 바이너리 파일이 실행되기 위해서 필요한 라이브러리 파일들이 있는지, 그리고 이 라이브러리 파일들이 시스템에 설치되어 있는지를 확인할 수 있다.
ldd /bin/ls
● 리눅스 traceroute google 했는데 *이 출력되는 이유는?
->리눅스에서 traceroute 명령어를 실행할 때 별(*)이 출력될 수 있다.
이는 네트워크 패킷의 TTL(Time To Live) 값이 0이 되어 패킷이 버려지는 경우에 해당된다.
traceroute 명령어는 목적지까지의 경로를 파악하는 데 사용되며, 이 과정에서 각 경로에 있는 라우터들에게 ICMP 패킷을 보내고, 이 패킷이 전달되는 데 걸리는 시간을 측정한다.
이 때, 각 라우터에서는 TTL 값을 하나씩 감소시켜 패킷이 무한히 라우팅 되지 않도록 한다.
하지만, TTL 값이 0이 되어 패킷이 버려지는 경우에는 해당 라우터의 정보를 수집하지 못하고, 별(*)을 출력하게 된다.
이는 일부 라우터에서 패킷을 허용하지 않아서, 또는 방화벽 등의 보안장치에서 패킷을 차단하는 경우 등이 있을 수 있으며
이러한 경우에는 traceroute 명령어 실행 결과에서 별(*)이 출력되는 위치를 살펴보고, 해당 위치에서 어떤 문제가 발생하고 있는지 파악하여 네트워크의 문제를 해결할 수 있다.
● cd /etc/netplan 명령어 의미
->명령어 "cd /etc/netplan"는 리눅스 운영체제에서 네트워크 설정 파일을 관리하는 디렉토리인 /etc/netplan으로 이동하는 명령어
위 명령어를 실행하면 현재 작업 중인 디렉토리가 /etc/netplan으로 변경
● LAN/WAN 차이는?
->LAN
Local Area Network의 약자, 작은 지리적 범위 내에서 컴퓨터와 다른 장치들이 서로 연결되어 있는 네트워크. LAN은 일반적으로 가정이나 사무실, 학교 등의 작은 지역에서 사용
LAN은 일반적으로 이더넷 케이블, 와이파이 또는 블루투스와 같은 로컬 연결 기술을 사용하며, LAN 내에서 컴퓨터들은 공유기나 스위치와 같은 네트워크 장비를 통해 서로 통신합니다.
-> WAN
Wide Area Network의 약자로, LAN보다 더 큰 지리적 범위에 걸쳐 있는 네트워크
인터넷이 대표적인 WAN의 예
WAN은 LAN과 달리 여러 지역이나 도시, 국가들을 연결하는 대규모의 네트워크를 말하며, 전화선, 광케이블, 위성 통신 등의 기술을 사용하여 네트워크를 형성
WAN은 대부분의 경우 서로 다른 장소에 위치한 컴퓨터들이 서로 통신하도록 해주는 것을 목적으로 한다.
-> LAN과 WAN의 가장 큰 차이점은 지리적 범위
● :443이란?
->:443은 HTTPS 프로토콜을 사용하는 웹 사이트에서 사용되는 기본 포트 번호
HTTPS는 HTTP 프로토콜의 보안 강화 버전으로, SSL(Secure Sockets Layer)이나 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터의 암호화와 인증을 수행한다.
HTTPS를 사용하면 클라이언트와 서버 간에 전송되는 데이터가 암호화되어 민감한 정보를 안전하게 전송할 수 있다
HTTP 프로토콜은 기본적으로 80번 포트를 사용하지만, HTTPS 프로토콜은 보안 연결을 위해 443번 포트를 사용합니다. 따라서 HTTPS를 사용하는 웹 사이트에 접속할 때는 URL 주소 뒤에 ":443"을 생략하여 입력이 가능하다
● 프로토콜 정리
->일반적으로 OSI 모델과 TCP/IP 모델 두 가지 계층도가 사용됩니다.
OSI 모델
: 총 7개의 계층으로 이루어져 있으며, 각 계층마다 특정한 역할을 수행
OSI 모델은 표준화된 계층 구조를 제공하여 다양한 기술이 상호 운용 가능하도록 만드는 것을 목표로 한다.
- 1계층: 물리 계층: 네트워크 장비 간의 전기 신호를 전송하는 역할
- 2계층: 데이터 링크 계층: 물리적인 네트워크에서 패킷을 전송하고, 에러 검사 및 수정, 논리 주소 할당 등을 수행
- 3계층: 네트워크 계층: 패킷을 목적지까지 전달하기 위해 라우팅, 흐름 제어, 에러 처리 등을 수행
- 4계층: 전송 계층: 데이터 전송에 대한 오류 제어 및 흐름 제어를 수행
- 5계층: 세션 계층: 네트워크 간의 연결을 관리하고 세션 복구 및 종료 등을 수행
- 6계층: 표현 계층: 데이터를 응용 프로그램에서 사용할 수 있는 형식으로 변환하는 역할을 수행
- 7계층: 응용 계층: 사용자가 사용하는 응용 프로그램과 네트워크 간의 인터페이스 역할
TCP/IP 모델
: 총 4개의 계층으로 이루어져 있으며, 각 계층마다 특정한 역할을 수행
TCP/IP 모델은 OSI 모델과 유사하지만, 더 단순하고 유연한 구조를 제공
- 1계층: 네트워크 액세스 계층: 물리적인 네트워크에서 데이터를 전송하기 위한 방법을 정의.네트워크 인터페이스 카드, 케이블, 허브 등과 관련된 기술을 포함
- 2계층 인터넷 계층: 데이터를 전송하기 위한 경로를 선택하고, 전송 중에 발생하는 에러를 처리. 라우터, IP 주소 등과 관련된 기술을 포함
- 3계층: 전송 계층: 데이터의 전송을 관리하며, 데이터를 신뢰성 있게 전달하기 위한 기능을 수행. TCP, UDP 등과 관련된 기술을 포함
- 4계층: 응용 계층: 사용자가 사용하는 응용 프로그램과 네트워크 간의 인터페이스 역할. HTTP, FTP, SMTP 등과 관련된 기술을 포함
● 인터넷 프로토콜
(네트워크 계층에서 작동/ 데이터 패킷을 다른 컴퓨터로 전송하고 수신하는것을 제어)
IPv4(Internet Protocol version 4): 32비트 주소를 사용하여 패킷을 전송하는 인터넷 프로토콜
IPv4는 인터넷의 초기에 개발되었으며, 현재까지도 많이 사용되고 있다.
IPv6(Internet Protocol version 6): 128비트 주소를 사용하여 패킷을 전송하는 인터넷 프로토콜
IPv6는 IPv4의 주소 고갈 문제를 해결하기 위해 개발
▶TCP
(Transmission Control Protocol): 신뢰성 있는 데이터 전송을 보장하기 위한 프로토콜
TCP는 데이터를 패킷으로 나누어 전송하고, 목적지에서 다시 원래의 데이터로 조립하는 방식을 사용
▶UDP
(User Datagram Protocol): TCP와 마찬가지로 데이터를 전송하는 프로토콜이지만, 데이터의 정확성이나 손실 여부 등을 확인하지 않는다.
→TCP 와 UDP차이점
연결형 / 비연결형 데이터 전송 속도 느리지만 신뢰성 보장 / 데이터 전송 속도 빠르지만 신뢰성 낮다
▶ICMP
(Internet Control Message Protocol): 네트워크 통신에서 발생하는 오류 메시지를 처리하는 프로토콜
ICMP는 대표적으로 Ping 프로그램에서 사용
▶FTP
(File Transfer Protocol): 파일 전송을 위해 사용되는 프로토콜
FTP는 대개 웹 호스팅 서버에서 파일을 업로드하거나 다운로드하기 위해 사용
▶HTTP
(Hypertext Transfer Protocol): 웹 브라우저와 웹 서버 사이에서 사용되는 프로토콜
HTTP는 HTML 문서와 같은 웹 페이지의 정보를 전송
▶SMTP
(Simple Mail Transfer Protocol): 이메일을 보내기 위해 사용되는 프로토콜
SMTP는 이메일 서버에서 이메일을 받아 상대방의 이메일 서버로 전송
▶POP3
(Post Office Protocol version 3): 이메일을 수신하는 데 사용되는 프로토콜
POP3는 이메일 서버에서 이메일을 받아 로컬 컴퓨터에 저장하며,이메일 클라이언트에서 이메일을 열어 볼 때 사용
▶DNS
(Domain Name System): IP 주소와 도메인 이름 간의 변환을 위해 사용되는 프로토콜
DNS는 사용자가 입력한 도메인 이름을 IP 주소로 변환하여 해당 웹 서버로 연결
▶Telnet
: 원격 로그인을 위해 사용되는 프로토콜
Telnet은 컴퓨터 간의 텍스트 기반 통신을 가능하게 한다.
▶SSH(Secure Shell)
: Telnet과 비슷한 원격 로그인 프로토콜이지만, 보안성이 높다.
SSH는 데이터 전송을 암호화하여 안전한 원격 로그인을 가능하게 한다.
▶ARP(Address Resolution Protocol)
: MAC 주소와 IP 주소 간의 변환을 처리하는 프로토콜
ARP는 컴퓨터가 네트워크에서 데이터를 전송하기 위해 다른 컴퓨터의 MAC 주소를 알아내는 데 사용
● 서브네팅은 비용문제때문에 사용하는가?
->서브네팅(Subnetting)은 비용 문제 때문에 사용하는 것은 아니지만, 비용 측면에서도 이점이 존재
서브네팅은 하나의 대규모 네트워크를 여러 개의 작은 네트워크로 분할하는 기술
이를 통해 라우터나 스위치와 같은 네트워크 장비의 부하를 줄이고, 더욱 효율적인 데이터 전송을 가능하게 하고, 서브네팅을 통해 더욱 효율적인 IP 주소 관리가 가능해진다.
하지만, 비용 측면에서의 이점은 주로 작은 규모의 조직이나 기업에서 크게 나타나 대규모 기업에서는 비용 측면에서의 이점이 작을 수 있다.
서브네팅은 효율적인 네트워크 관리와 보안성 강화 등의 이점을 제공하기 때문에, 네트워크 구성에서 중요한 역할을 한다
서브네팅을 통해 다양한 부서나 지점마다 별도의 네트워크를 구성하여 관리할 수 있고, 이를 통해 각각의 네트워크를 독립적으로 관리하고 보안성을 강화하며, 네트워크 장비의 부하를 줄여 성능 향상을 이뤄낸다.
● IP 주소를 정적으로 할당하는 서버가 있나?
->IP 주소를 정적으로 할당하는 경우는 주로 서버나 네트워크 기기들에서 사용
정적으로 IP 주소를 할당하면 IP 주소를 수동으로 지정하므로, 해당 IP 주소를 사용하는 기기가 항상 같은 IP 주소를 가지게 게된다.
정적 IP 주소를 사용하는 경우에는 DHCP와는 달리 IP 주소를 직접 설정해야 하고 일반적으로 네트워크 구성 설정에서 IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버 등의 정보를 입력하여 IP 주소를 할당한다
정적 IP 주소를 사용하는 경우 DHCP보다 설정 방법이 복잡하지만, IP 충돌 등의 문제를 예방할 수 있고, 서버나 기타 중요한 네트워크 기기에서는 보안 및 안정성을 위해 정적 IP 주소 사용을 권장한다.
● IP 주소란?
->Internet Protocol의 약자
컴퓨터 네트워크에서 각각의 기기가 구별 될 수 있는 주소
네트워크 계층에서 사용
인터넷에서 데이터가 전송 될 때 출발지와 목적지를 구분하기 위해 사용
● MAC 주소란?
->물리적인 주소. 네트워크 카드에 할당된 고유 주소
데이터 링크 계층에서 사용
컴퓨터 네트워크 상에서 데이터가 전송될 때 목적지를 찾기위해 사용
● GATEWAY란?
->네트워크에서 여러 개의 서로 다른 프로토콜, 네트워크를 연결하기위한 장치, 시스템
송신된 데이터를 다른 네트워크나 인터넷 등으로 전송하는 역할
로컬 네트워크와 다른 네트워크 연결 / 로컬 네트워크 내에서 서브넷 구분 할 때 사용
LAN에서 다른 동네로, 외부로 통하는 관문
(gateway 역할을 하는 장비: ROUTER)
● 통신의 단위는?
-> 패킷
컴퓨터 네트워크를 통해 전송되는 데이터의 논리적이 단위
패킷단위로 전송함으로써 안정성과 신뢰성 확보
송신자와 수신자 사이의 왕복 시간 및 네트워크 대역폭 등의 변수에 따라 크기가 변함
● 패킷헤더란?
-> 일반적으로 패킷 전송에 필요한 기본 정보 탑재
출발지, 목적지, IP주소, 포트 번호, 패킷 길이, 프로토콜 등
*내용물에 대한 직접적인 정보는 포함되지 않음
● DNS란?
-> Domain Name System의 약자, 인터넷에서 사용되는 네트워크 이름 해석 시스템
사람이 쉽게 기억하고 이해할 수 있는 도메인을 사용하여 인터넷 서비스 찾을 수 있도록 도움
● local host 127.0.0.1
:물리적인 장치 존재 하지 않는가? 나머지는 물리적 장치가 필요한가?
-> YES
127.0.0.1 은 로컬 호스트를 가리키는 IP주소 : 해당 컴퓨터 자신을 의미
로컬 호스트를 통해 자신의 컴퓨터에서 동작하는 서비스에 접근 가능하다
반면 다른 컴퓨터에 있는 서비스에 접근하려면 해당 컴퓨터의 IP주소가 필요해 물리적인 장치가 필요하고, 인터넷이 연결되어 있어야 한다.
● NETMASK 란?
-> IP 주소를 사용해 네트워크 주소와 호스트 주소 식별하는 32비트 값
IP주소는 네트워크 주소와 호스트 주소로 구성되는데, 이 둘을 구분하기 위해 사용한다.
(동네의 크기)
서브넷 마스크는 IP 주소에서 서브넷을 나누기 위해 사용한다
(하나의 네트워크를 더 작은 네트워크로 분할하는 것을 의미- 효율적 관리 + 보안성 높임)
● 내부망과 외부망 구분하는 법은?
-> 목적지 주소와 netmask 값을 AND 연산하기
결과값과 Network 주소값을 비교해 동일하면 내부망, 다르면 외부망
클래스 | 범위 | 표기법 |
A | 11111111 . 00000000 . 00000000 . 00000000 | /8 or 255 . 0 . 0 . 0 |
B | 11111111 . 11111111 . 00000000 . 00000000 | /16 or 255 . 255 . 0 . 0 |
C | 11111111 . 11111111 . 11111111 . 00000000 | /24 or 255 . 255 . 255 . 0 |
network IP : 내부 네트워크의 시작이 되는 IP
Broadcast: 내부 네트워크의 끝이 되는 IP
동네 대표의 ip
ex1)
208.45.63.0 / 24
= 255.255.255.0
0~255 = 256개 - (네트워크 ip, broadcast ip) = 254개
208.45.63.128 /25
=255.255.255.128
=11111111.11111111.11111111.10000000
25= 10000000
=0~127 = 128개 - (네트워크 ip, broadcast ip) = 126 개
ex2) 200.100.100.0 ~ 200.100.100.255
네트워크 ip : 200.100.100.0
브로드캐스트 ip: 200.100.100.255
0~255 까지 총 256개 의 주소값
200.100.100.30
200.100.100.190
두 주소가 포함 되는지?
255.255.255.0
And
200.100.100.190
------------------------
= 200.100.100.0 동일
255.255.255.0
And
200.100.100.30
----------------------
=200.100. 100.0 동일
=> 포함된다
● 서브네팅
0~127 192.168.32.0 ~192.168.32.127 |
0~63 192.168.32.0 ~192.168.32.63 |
0~31 192.168.32.0 ~192.168.32.31 |
32~63 192.168.32.32 ~192.168.32.63 |
||
64~127 192.168.32.64 ~192.168.32.127 |
64~95 192.168.32.64 ~192.168.32.95 |
|
96~127 192.168.32.96 ~192.168.32.127 |
||
128~255 192.168.32.128 ~192.168.32.255 |
128~191 192.168.32.128 ~192.168.32.191 |
128~159 192.168.32.128 ~192.168.32.159 |
160~191 192.168.32.160 ~192.168.32.191 |
||
192~255 192.168.32.192 ~192.168.32.255 |
192~223 192.168.32.192 ~192.168.32.223 |
|
224~255 192.168.32.224 ~192.168.32.255 |
'리눅스' 카테고리의 다른 글
LINUX (리눅스에서 의존성이란? /실행권한 주기/ chmod 755/리눅스 시스템에서 프로세스가 데이터 입/출력 하거나 오류 메세지 출력하는 표준 입출력 스트림이란? ) (0) | 2023.05.03 |
---|---|
LINUX (Domain/ DNS 란?/ indexes 란?/ nslookup) (0) | 2023.05.02 |
LINUX (vi를 이용한 ~/.vimrc 파일 설정 / 필수 설치 패키지/ my sql설정/ 사용자 용량 제한 설정/ quota 설정) (0) | 2023.04.28 |
LINUX (vi/ vi 모드 전환 및 명령어/ 셸/ 셸 변수와 환경/ 환경 변수 설정/ Alias/ History) (0) | 2023.04.27 |
LINUX 0426 (0) | 2023.04.27 |