[리눅스 왜 중요할까?]
한마디로 압축해서 표현하면
- 자원관리
1) IT 인프라의 핵심 요소 (운영체제)
=> 누군가의 요구사항에 따라 개발/구현해서 제공.
=> IT 인프라(스트럭처) : 하드웨어, 소프트웨어, 네트워크, 데이터(스토리지), 보안 솔루션 (방화벽)
GPU....
=> 핵심 소프트웨어(운영체제)로 Linux가 사용된다
2) 정보통신 망분리 => 크게 문제가 없으면 리눅스를 Desktop 운영체제 (사용자)
* Flutter
3) 네트워크 서비스를 위한 운영체제
- 웹서버, DB 서버, 응용서버 설치하고 활용.
4) 컴퓨터 시스템과 운영체제의 동작 원리를 이해하기 위해 사용.
-----------------------
* IT 전문가를 지향한다면 일반 사용자와는 다른 몇가지를 알고 준수할 것.
1) 계정명은 반드시 영어 => 계정명이 한글 --> 특정한 폴더에 한글. (특정 라이브러리/도구 동작X)
2) 탐색창 보기 옵션에서 확장자 보기로 해 놓는다. (.exe, .py, .hwp등 확장자를 볼 수 있음)
3) (가능하면) 파일명/폴더명은 길지 않게 하고, 공백(한글) 없이 한다.
------------------------
[리눅스 사용 방법 4가지]
1) Desktop에 직접 리눅스 설치
- 윈도우 환경을 유지하면서 리눅스 사용
2) 가상머신 : 가상의 PC를 생성하고 (CPU, 메모리, 디스크), 그 위에 리눅스 설치.
=> VirtualBox (윈도우/리눅스/맥..) : 오픈소스/무료 (확장팩 : 유료)
=> 윈도우 (Hyper Visor)
=> OSX (Parallels)
* VMWare - VM Workstation
3) 클라우드 (AWS, 네이버/KT)
4) WSL2 (Windows Subsystem for Linux v2)
=> Windows 11에서 WLA (Windows Subsystem for Android)
<참고>
* CLI : Command Line Interface
* GUI : Graphic User Interface
* 윈도우에서 리눅스를 실행할 수 있는 방법 - 가상화 프로그램을 설치 / 가상머신 (메모리 등을 고정해서 할당) => VMWare Workstation, Player (개인사용자에게는 무료) => MAC Pararells => VirtualBox (오픈소스/프리웨어 + 2개이상 운영체제) + Extention Pack (개인에게 무료) - Docker : 경량화된 가상 머신 (리눅스 커널과 자원은 공유하면서, 필요한 것만 사용) - WSL2 : Windows Subsytem for Linux v2 - (윈도우11에) WSA : Windows Subsystem for Android. - Hyper Visor (Hyper - V) : 예) https://lunacellstone.tistory.com/88 <참고 : 윈도우 WLS2 와 Docker 설치> ※ Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11을 실행해야 한다. ※ 그 이전 버전의 경우 Linux Sub System (Beta) <- Windows 기능 켜기/끄기 ※ 단 18363 이상 필요 (Docker) T.T <하이퍼바이저 활성화> => systeminfo 명령어
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All ------------- <wsl 설정> ※ https://docs.microsoft.com/ko-kr/windows/wsl/setup/environment 관리자 파워쉘 : wsl --install => WSL2 활성화 및 Ubuntu 설치까지 한번에 완료 -------- <Docker> - 설치 프로그램 사용 : Docker: Accelerated, Containerized Application Development - https://www.docker.com/get-started/ |
[VirtualBox를 이용해서 리눅스 설치 / 설정 / 접속]
* 리눅스 배포판 : 특정 목적에 따라 커널을 준비하고 필요한 도구등을 함께 포함해서 배포.
- 레드햇 계열 : 레드햇 리눅스 (삼성), CentOS7 (래드햇 안전성 + 오픈소스) : 리눅스마스터 1급 2차.
=> SELinux (보안커널) : 특정한 기능/자원을 접근할 때 커널 안에서 접근 통제
- 데비안 계열 : 우분투, 라즈베리파이OS, KaliLinux
=> 명령어, 관리방법 : 기본 동일.
systemctl start/stop/restart/status/enable/disable httpd (아파치 서버 실행)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
=> 차이점 : ‘패키지/서비스를 설치하는 기본 명령
- CentOS : yum install httpd
- Ubuntu : apt (apt-get) install apache2
* 문서 리뷰 : VirtualBox에 CentOS 리눅스 설치하기 - Google Docs
네트워크 NAT에 대한 이해
그림 한 문장 요약 :
1) 공유기 내부 사설 IP가 존재
2) 공유기 내부 네트워크 내에서 자유롭게 통신 가능
3) 외부 IP로 접근해도 포트 포워딩을 통해 사설망에 접근 가능. (보안 관련 사항 충족 시)
4) 포트 포워딩이 없다면 매번 달라지는 사설 IP값을 통해 접근해야함.
[VirtualBox에 Linux 2개를 import 하고 동작을 확인]
(글을 보시고 따라하는 분들은 import할 파일이 없으니 직접 가상머신 구축후에 방화벽 설정을 하시고 두 개의 VM을 만드셔서 해보세요. import 파일이 필요하신분은 메일 주소를 댓글로 달아주시면 확인하는대로 파일과 루트 패스워드를 보내드리겠습니다.)
===> 실습
1) 두 개 부팅
2) root로 로그인
3) 두개 ip 주소 확인 (ifconfig)
4) CentOS <-> Kali Linux 상호 ping 10.0.2.5
5) CentOS와 Kali Linunx에서 ping google.com
<Kali Linux에 네트워크 카드를 1개 더 꼽아서>
- CentOS <-> Kali (NetNetwork)
- Kali <-> Windows (Host Only Network)
※ 참고 : 윈도우 네트워크 어댑터 보기 (제어판\네트워크 및 인터넷\네트워크 연결)
※ 윈도우 : ipconfig /all
1. Kali 종료 / Adpater
(sudo) shutdown -h now
2. 리눅스에서 DHCP로 ip를 할당받는 명령어
- dhclient
3 네트워크 설정을 진행
- cat /etc/network/interfaces
- 설정파일 : /etc/network/interfaces
- 편집 : nano /etc/network/interfaces
--------------
* 마지막 라인 추가 (단, 오타주의할 것!!!)
----------------------------------------------------------------------------------------
#(참고) eth0는 항상 활성화, dhcp로 IP를 받아라.
allow-hotplug eth0
iface eth0 inet dhcp
#(참고) eth1은 항상 활성화, 정적 IP를 할당 (192.168.56.111)
allow-hotplug eth1
iface eth1 inet static
address 192.168.56.111
netmask 255.255.255.0
----------------------------------------------------------------------------------------
4. 리부팅
(sudo) reboot now
<Window -> Kali Linux로 SSH 접속>
1) 윈도우에서 SSH 접속에 사용할 프로그램.
권장(ssh client사용).
대안 (putty : Download PuTTY: latest release (0.78) (greenend.org.uk))
2) 윈도우에서 ssh로 kali 에 접속방법
ssh root@192.168.56.(자유설정한 IP)
※ 텔넷(윈도우10) : Windows 10에서 텔넷(Telnet) 사용하는 방법 (tistory.com)
3) Kali에서 ssh 서버를 실행하자.
systemctl start ssh
systemctl enable ssh
systemctl status ssh
4) 루트의 접속을 허가하자.
nano /etc/ssh/sshd_config
cat /etc/ssh/sshd_config | grep Permit
파이프라인 + grep '검색할 단어'
<CentOS 포트포워딩>
ssh root@192.168.56.1
- 패스워드 입력
원격 접속 완료.
'리눅스(Linux, Server)' 카테고리의 다른 글
[Linux, 네트워크] WinSCP 장점과 다운로드 방법 (0) | 2023.01.05 |
---|---|
[Linux] 쉘 스크립트란? (export PATH, 환경변수, 스크립트 자동실행) (1) | 2023.01.04 |
[Linux] 리눅스 파일 cat, 파이프 명령 | , 리다이렉션 redirection > (0) | 2023.01.03 |
[Linux] 초기 Root 계정 설정 방법 (sudo 명령어) (0) | 2022.12.30 |
[Linux] VirtualBox를 사용한 CentOS Linux 설치 (0) | 2022.12.30 |