rescuzilla IP 자동부여(No DHCP)
#!/bin/bash
LOG="/tmp/ip_auto_log.txt"
echo "=== 라이브 콘피그 자동 실행 시작: $(date) ===" > $LOG
# 실제 LAN 카드 이름 추출
NIC=$(ip -o link show | awk -F': ' '{print $2}' | grep -v lo | head -n 1)
if [ -z "$NIC" ]; then
echo "ERROR: 랜카드를 찾을 수 없습니다." >> $LOG
exit 1
fi
REAL_MAC=$(cat /sys/class/net/$NIC/address | tr '[:upper:]' '[:lower:]')
echo "Detected NIC: $NIC, MAC: $REAL_MAC" >> $LOG
GATEWAY="192.168.0.1"
NETMASK="24"
DNS="8.8.8.8"
MY_IP=""
case "$REAL_MAC" in
"aa:bb:cc:dd:ee:ff") MY_IP="192.168.0.231" ;;
"bb:cc:dd:ee:ff:gg") MY_IP="192.168.0.232" ;;
# 15대 리스트 구성...
*)
echo "WARNING: 등록되지 않은 MAC 주소입니다." >> $LOG
MY_IP="192.168.0.246"
;;
esac
if [ -n "$MY_IP" ]; then
sudo ip addr flush dev $NIC
sudo ip addr add $MY_IP/$NETMASK dev $NIC
sudo ip link set dev $NIC up
sudo ip route add default via $GATEWAY dev $NIC
echo "nameserver $DNS" | sudo tee /etc/resolv.conf > /dev/null
echo "SUCCESS: $MY_IP 주소가 완벽히 할당되었습니다!" >> $LOG
fi
메모장에 해당내용 입력 후
줄바꿈은 Unix (LF) 로 설정 필요.
파워쉘 명령어
(Get-Content -Raw Z:\ip-match.sh) -replace "`r`n", "`n" | Set-Content -NoNewline Z:\ip-match.sh
이용하여 Unix (LF) 로 변경.
이후 rescuzilla 실행시 터미널에서
sudo bash /cdrom/ip.sh
입력 해주면 맥어드레스 기준 IP 수동할당 해줌.