IP 목록을 DEVICE=eth0:X로 가져옵니다.

IP 목록을 DEVICE=eth0:X로 가져옵니다.

Linux VPS로 가져오려는 IP 목록이 있습니다. IP 범위가 아닙니다.

이 작업을 수행하기 위해 bash 스크립트를 어떻게 생성합니까?

1.1.1.1
2.2.2.2

내 IP 목록에 있으면 다음 두 파일이 생성되어야 합니다.

/etc/sysconfig/network-scripts/ifcfg-eth0:1

-

DEVICE=eth0:1
BOOTPROTO=static
ONBOOT=yes
IPADDR=1.1.1.1
NETMASK=255.255.255.0

-

/etc/sysconfig/network-scripts/ifcfg-eth0:2

-

DEVICE=eth0:2
BOOTPROTO=static
ONBOOT=yes
IPADDR=2.2.2.2
NETMASK=255.255.255.0

답변1

여기 있어요:

counter=`ls -1 /etc/sysconfig/network-scripts/ifcfg-eth0:* 2>/dev/null | cut -d : -f 2 | sort -n | tail -1`
if [ -z "$counter" ]
then
  counter=0
fi

for ip in `cat iplist.txt`
do
  counter=`expr $counter + 1`
  cat << EOM > /etc/sysconfig/network-scripts/ifcfg-eth0:${counter}
DEVICE=eth0:${counter}
BOOTPROTO=static
ONBOOT=yes
IPADDR=${ip}
NETMASK=255.255.255.0
EOM
done

그러면 먼저 eth0에서 가장 높은 번호의 가상 인터페이스를 찾은 다음 iplist.txt거기에서 각 줄에 대해 새 파일을 만들고 적절한 값을 채웁니다.

기존 파일을 덮어쓰려면 먼저 덮어쓰거나 rm카운터 논리를 제거하고 0으로 설정하고 증분을 루프의 시작 대신 끝으로 이동할 수 있습니다.

관련 정보