IT/리눅스
LXD 네트워크 설정 쉘파일
천진난만한 블로거
2025. 3. 8. 17:01
반응형
#!/bin/bash
CONTAINER_NAME="mycontainer"
BRIDGE_NAME="lxdbr1"
echo "Starting network fix for $CONTAINER_NAME..."
# 인터페이스 설정
echo "Configuring network interfaces..."
lxc exec $CONTAINER_NAME -- bash -c "echo -e 'auto eth0\niface eth0 inet dhcp' > /etc/network/interfaces"
# DHCP 클라이언트 설치
echo "Installing DHCP client..."
lxc exec $CONTAINER_NAME -- apt update
lxc exec $CONTAINER_NAME -- apt install -y isc-dhcp-client
# DNS 설정
echo "Setting up DNS..."
lxc exec $CONTAINER_NAME -- bash -c "rm -f /etc/resolv.conf && echo 'nameserver 8.8.8.8' > /etc/resolv.conf"
lxc exec $CONTAINER_NAME -- bash -c "echo 'nameserver 1.1.1.1' >> /etc/resolv.conf"
lxc exec $CONTAINER_NAME -- chattr +i /etc/resolv.conf
# LXD 브릿지 설정
echo "Configuring LXD bridge $BRIDGE_NAME..."
lxc network set $BRIDGE_NAME ipv4.nat true
lxc network set $BRIDGE_NAME ipv4.dhcp true
lxc network detach $BRIDGE_NAME $CONTAINER_NAME
lxc network attach $BRIDGE_NAME $CONTAINER_NAME eth0
# 컨테이너 재시작 및 네트워크 활성화
echo "Restarting container and enabling network..."
lxc restart $CONTAINER_NAME
sleep 5 # 컨테이너가 완전히 시작될 때까지 대기
lxc exec $CONTAINER_NAME -- ip link set eth0 up
lxc exec $CONTAINER_NAME -- dhclient eth0
# 네트워크 테스트
echo "Testing network connectivity..."
lxc exec $CONTAINER_NAME -- ping -c 4 8.8.8.8
lxc exec $CONTAINER_NAME -- ping -c 4 google.com
echo "Network setup completed!"
반응형