본문 바로가기
반응형

전체 글264

12. (실습) namespace - Network 네임스페이스 Network 네임스페이스 실습 새로운 Network 네임스페이스 생성 후 생성된 네임스페이스 간의 네트워크 연결 확인 (Docker의 Bridge 드라이버 형태) 리눅스의 가상 네트워크 인터페이스 - Bridge: 네트워크 스위치와 같은 역할. 연결된 인터페이스로 패킷을 전달함. $ ip link add 이름 type bridge - VETH (Virtual Ethernet): 로컬 이더넷 터널. 네트워크 네임스페이스 간 연결을 가능하게 함. 항상 페어로 구성됨 $ ip link add 이름1 type veth peer name 이름2 1. sudo su 명령어로 루트 계정으로 전환한다. 2. ip 명령어로 ip와 관련된 많은 작업을 수행할 수 있다. ip netns add [네트워크 네임스페이스 이름.. 2022. 6. 26.
11. (실습) namespace - Pid 네임스페이스 Pid 네임스페이스 실습 PID 네임스페이스 생성 후 프로세스 트리 정보 확인 1. sudo su 명령어로 루트 계정으로 전환한다. 2. echo $$ 명령어로 현재 프로세스 ID를 확인한다. 3. unshare -pmif 명령어로 새로운 PID, mount, IPC 네임스페이스와 자식 프로세스를 생성한다. -p : 옵션은 PID 네임스페이스 생성 -m : mount 네임스페이스 생성 -i : IPC 네임스페이스 생성 -f : 자식 프로세스 생성 4. echo $$ 명령어로 제대로 네임스페이스가 생성됐는지 현재 프로세스 ID를 확인한다. 5. ps aux | head -n5 명령어로 모든 프로세스 리스트 확인한다. 프로세스 정보를 확인해보면 systemd가 1번으로 나온다. 이는 제대로 반영이 안된 것이.. 2022. 6. 25.
10. (실습) namespace - Mount 네임스페이스 Mount 네임스페이스 실습 새로운 Mount 네임스페이스로 마운트한 위치에 파일 생성하자 1. sudo su 명령어로 루트 계정으로 전환한다. 2. 우분투에서는 unshare 명령어를 통해 네임스페이스를 구성할 수 있다. unshare --help 명령어를 이용하여 unshare 명령어의 옵션에 대해 알아보자 3. echo $$ 명령어로 현재 프로세스 ID를 확인하고, 우리는 새로운 mount 네임스페이스를 생성할 것이므로 unshare -m /bin/bash 명령어를 입력한다. 4. 다시 echo $$ 명령어로 현재 프로세스 ID를 확인해보면 새로운 프로세스가 생성돼서 새로운 프로세스 ID가 나온다. 5. mount -t tmpfs tmpfs /mnt 명령어로 임시 파일 스토리지 파일시스템인 tmpf.. 2022. 6. 25.
09. namespace의 이해 namespaces 프로세스별로 별도의 커널 자원을 분할하는 리눅스 커널의 기능 리눅스 컨테이너 기술의 근간 네임스페이스 종류: ipc, mnt, net, pid, pid_for_children, uts cgroups vs. namespaces cgroups은 ‘how much you can use’를 제한 namespaces는 ‘what you can see’를 제한 네임스페이스의 종류 PID 네임스페이스 - Process ID 정보를 격리. 네임스페이스 외의 다른 프로세스에 접근 불가능. Network 네임스페이스 - 네트워크 장치, IP 주소, 포트, 라우팅 테이블 등의 네트워크 리소스를 격리 - 가상 네트워크 장치를 할당 User 네임스페이스 - 프로세스 별로 UID, GID 정보를 격리 Moun.. 2022. 6. 24.
반응형