[Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ IP ์„ค์ •

2025. 6. 25. 14:23ยทLinux

ํ•„์š”ํ•œ ์ •๋ณด

# ๋ฐ๋น„์•ˆ ๊ณ„์—ด์—์„œ ๋„คํŠธ์›Œํฌ ์„ค์ • ๋ฐฉ๋ฒ•
18.04 LTS ๋ฒ„์ „๋ถ€ํ„ฐ netplan ํŒŒ์ผ ์„ค์ •์œผ๋กœ ๋ณ€๊ฒฝ

# ํŽ˜๋„๋ผ ๊ณ„์—ด์—์„œ ๋„คํŠธ์›Œํฌ ์„ค์ • ๋ฐฉ๋ฒ•
8 ๋ฒ„์ „๋ถ€ํ„ฐ nmcli ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ค์ •

# ๋„คํŠธ์›Œํฌ IP ์„ค์ • ์‹œ ํ•„์š”ํ•œ ์ •๋ณด๋“ค
Network Interface Name
IP/CIDR
Gateway
DNS

์Šคํฌ๋ฆฝํŠธ

#!/bin/bash

ostype=$(cat /etc/*releas | grep ID_LIKE | sed "s/ID_LIKE=//;s/\"//g")

echo "=== Network Devices ==="
ip a | grep '^[0-9]' | awk '{print $1" " $2}' | grep -v -e 'lo' -e 'v' -e 't'
read -p "Please input network interface: " net_name
read -p "Please input network ip(ex:192.168.122.10/24): " net_ip
read -p "Please input network gateway: " net_gw
read -p "Please input network dns: " net_dns

if [[ -z $net_name ]] || [[ -z $net_ip ]] || [[ -z $net_gw ]] || [[ -z $net_dns ]]
then
        echo "You need to input network information. Please retry this script"
        exit;
fi

if [[ $ostype == "fedora" ]]
then
        nmcli con add con-name $net_name type ethernet ifname $net_name ipv4.address $net_ip ipv4.gateway $net_gw ipv4.dns $net_nds ipv4.method manual
        nmcli con up $net_name
elif [[ $ostype == "debian" ]]
then
        ip_chk=$(grep $net_name /etc/netplan/*.yaml  wc -l)
        if [ $ip_chk -eq 0 ]
        then
                cat > /etc/netplan/${net_name}.yaml << EOF
network:
  version: 2
  renderer: networkd
  ethernets:
    $net_name:
      dhcp4: no
      dhcp6: no
      addresses: [$net_ip]
      gateway4: $net_gw
      nameservers:
        addresses: [$net_dns]
EOF
                echo "cat /etc/netplan/${net_name}.yaml"
                cat /etc/netplan/${net_name}.yaml
                echo "apply netplan"
                netplan apply
        else
                echo "This $net_name is configured already."
        fi
fi

ํŽ˜๋„๋ผ ๊ณ„์—ด์˜ ๋ ˆ๋“œํ–‡์—์„œ ๋„คํŠธ์›Œํฌ IP๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐ๋น„์•ˆ ๊ณ„์—ด์ธ ์šฐ๋ถ„ํˆฌ์—์„œ๋„ ๋„คํŠธ์›Œํฌ IP ์„ค์ • ๊ฐ€๋Šฅ.
๋ ˆ๋“œํ–‡์—์„œ๋Š” sh ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‚˜ ์šฐ๋ถ„ํˆฌ์—์„œ๋Š” bash ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•จ.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Linux' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋‹ค์šด๋กœ๋“œ  (0) 2025.06.23
[Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ Timezone ์„ค์ •  (0) 2025.06.22
[Linux] Shell Script์„ ํ™œ์šฉํ•˜์—ฌ SSH ํ‚ค ๋ณต์‚ฌ  (1) 2025.06.18
[Linux] Shell Script๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ณ„์ • ์ƒ์„ฑ  (0) 2025.06.16
[Linux] ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰ 2์ฐจ ์ •๋ฆฌ (12)  (2) 2025.06.13
'Linux' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ ํŒจํ‚ค์ง€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋‹ค์šด๋กœ๋“œ
  • [Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ Timezone ์„ค์ •
  • [Linux] Shell Script์„ ํ™œ์šฉํ•˜์—ฌ SSH ํ‚ค ๋ณต์‚ฌ
  • [Linux] Shell Script๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ณ„์ • ์ƒ์„ฑ
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (170) N
      • Linux (26)
      • Infra (9) N
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (84) N
        • Algorithms (76) N
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ž๋ฐ”
    Shell Script
    ๋ฆฌ๋ˆ…์Šค
    Linux
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    ๋ฐฑ์ค€
    ์˜ค๋ธ”์™„
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    bfs
    network
    Baekjoon
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    programmers
    dfs
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    Java
    K8s
    ๋„์ปค
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    Kubernetes
    ๋„คํŠธ์›Œํฌ
    Shell
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    docker
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[Linux] Shell Script๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ IP ์„ค์ •
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”