# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "generic/rocky9"
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = "1"
vb.customize ["modifyvm", :id, "--nic2", "natnetwork", "--nat-network2", "NatNetwork"]
(0..2).each do |hd|
if !File.exist?("disk#{hd}.vdi")
vb.customize ["createmedium", "disk", "--filename", "disk#{hd}.vdi", "--size", 20480]
end
vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", hd+1, "--device", 0, "--type", "hdd", "--medium", "disk#{hd}.vdi"]
end
end
end

| 명령어 | 설명 |
|---|---|
ip address show | 네트워크 인터페이스의 IP 주소와 상세 정보 표시 |
ifconfig | 네트워크 인터페이스의 상태와 설정 정보 표시 |
ip route | 라우팅 테이블 표시 |
traceroute [호스트 또는 IP] | 네트워크 경로를 따라 패킷이 이동하는 경로 표시 |
path [호스트 또는 IP] | 네트워크 경로를 따라 패킷이 이동하는 경로 표시 |
ping [호스트 또는 IP] | 지정된 호스트 또는 IP로 ICMP 패킷을 보내 응답 확인 |
| 명령어 | 설명 |
|---|---|
nmcli connection show | 모든 네트워크 연결 정보 표시 |
nmcli connection add | 새로운 네트워크 연결 추가 |
nmcli connection edit | 기존 네트워크 연결 수정 |
nmcli connection modify | 기존 네트워크 연결 수정 |
nmcli connection delete | 네트워크 연결 삭제 |
nmcli connection up | 지정된 연결을 활성화 |
nmcli connection down | 지정된 연결을 비활성화 |
nmcli connection reload | NetworkManager에게 연결 설정 변경 사항을 다시 로드 |

ethernet : 기본 네트워크 통신 유형
con-name : 연결의 이름 /etc/sysconfig/network-scripts 디렉토리에 ifcfg-dy-namic 파일 생성
ifname : 연결과 매핑되는 인터페이스 지정



# 다음과 같이 ipv4 명령은 IPv4 주소, 게이트웨이, DNS 서버 및 설정 방법을 지정하는데 사용할 수 있음
nmcli connection add type ethernet con-name first ifname eth1 ipv4.addresses 10.0.2.100/24 ipv4.gateway 10.0.2.1 ipv4.dns 10.0.2.1 ipv4.method manual
type ethernet: 연결 유형을 이더넷으로 설정
con-name first: 연결 이름을 "first"로 설정
ifname eth1: 이더넷 인터페이스 이름을 "eth1"로 설정
ipv4.addresses 10.0.2.100/24: IPv4 주소를 "10.0.2.100/24"로 설정
ipv4.gateway 10.0.2.1: IPv4 게이트웨이를 "10.0.2.1"로 설정
ipv4.dns 10.0.2.1: DNS 서버 주소를 "10.0.2.1"로 설정
ipv4.method manual: IPv4 설정 방법을 수동(manual)으로 설정
nmcli connection modify dynamic ipv4.addresses 10.0.2.100/24 method manual
# nmcli connection show dynamic | grep -i address
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist: --
802-3-ethernet.accept-all-mac-addresses:-1 (default)
ipv4.addresses: 10.0.2.100/24
ipv6.addresses: --
IP4.ADDRESS[1]: 10.0.2.100/24
IP6.ADDRESS[1]: fe80::86f8:8118:938:b57d/64
[root@rocky9 ~]# nmcli connection modify dynamic ipv4.gateway 10.0.2.1
[root@rocky9 ~]# ip route
10.0.2.0/24 dev eth1 proto kernel scope link src 10.0.2.100 metric 101
# ip를 10.0.2.200/24로 수정
nmcli connection modify static ipv4.addresses 10.0.2.200/24
nmcli connection show static | grep ipv4.addre
ipv4.addresses: 10.0.2.200/24
# + 기호로 ip 10.0.2.100/24 추가
nmcli connection modify static +ipv4.addresses 10.0.2.100/24
[root@rocky9 ~]# nmcli connection show static | grep ipv4.addre
ipv4.addresses: 10.0.2.200/24, 10.0.2.100/24
# - 기호로 ip 10.0.2.100/24 제거
nmcli connection modify static -ipv4.addresses 10.0.2.100/24
nmcli connection show static | grep ipv4.addre
ipv4.addresses: 10.0.2.200/24
ls /etc/NetworkManager/system-connections/
dynamic.nmconnection eth0.nmconnection first.nmconnection static.nmconnection
텍스트 상자 형식 설정 도구를 사용하여 터미널에서 사용자가 쉽게 네트워크 설정을 하도록 도와주는 도구

| 옵션 | 설명 |
|---|---|
| Edit a connection | 연결의 추가, 삭제, 수정 |
| Active a connection | 연결의 활성화와 비활성화 |
| Set system hostname | 시스템의 호스트이름 설정 |
| Quit | 종료 |