centos6 多段Ip添加腳本

来源:http://www.cnblogs.com/yunweis/archive/2017/10/25/7727195.html
-Advertisement-
Play Games

#!/bin/bash export device=`ifconfig|grep eth0|head -n 1|awk '{print ($1)}'`export ipcfg_pre="/etc/sysconfig/network-scripts/ifcfg-eth1-range"awktmp=`m ...


#!/bin/bash

export device=`ifconfig|grep eth0|head -n 1|awk '{print ($1)}'`
export ipcfg_pre="/etc/sysconfig/network-scripts/ifcfg-eth1-range"
awktmp=`mktemp`
msg=`mktemp`
ip_txt=`mktemp`
ifcfgs="$(find ${ipcfg_pre%/*} -name ${ipcfg_pre##*/}*)"
if test ! -z "$ifcfgs";then
echo "發現如下已有配置文件是否刪除(yes/no)?"
echo "$ifcfgs"
select var in "yes" "no"
do
if test "$var" = "yes";then
rm -f $ifcfgs
break;
else
break;
fi

done
fi

#腳本保存進 臨時文件 不再使用a.awk文件。

cat >$awktmp <<EOF
#!/usr/bin/awk -f
BEGIN{
ipcfg_pre="${ipcfg_pre}"
#你需要修改 ipcfg_pre 為自己的路徑首碼
device=ENVIRON["device"]
clone_num=1;
numofpc[24]=253
numofpc[24]=125
numofpc[26]=61
numofpc[27]=29
numofpc[28]=13
numofpc[29]=5
}
function ip_str(iplist){
return sprintf("%s.%s.%s.%s",ip_list[1],ip_list[2],ip_list[3],ip_list[4]);
}
function gen_mask(num,mask_bin, _ARGVEND_,sum,bits){
#把掩碼由數字轉換成數組
_i=1;
mask_bin[1]=0;
for (;_i*8 <=num && _i<=4;_i++){
mask_bin[_i]=255;
}
bits=num-(_i-1)*8;
sum=0;
for(;bits>0;bits--){
sum=sum+2^(8-bits);
}
mask_bin[_i]=sum;
_i++;
for(;_i<=4;_i++){
mask_bin[_i]=0;
}
}
{
ipfile=sprintf("%s%s",ipcfg_pre,NR);
split(\$0,ip,"/");
ip_mask=ip[2];
split(ip[1],ip_list,".");
#ip_list 列表保存了 ip 的四個 位元組值
ip_start=ip_list[4]+2;
ip_end=ip_start+numofpc[ip_mask]-1;
printf("DEVICE=%s\n",device)>ipfile
printf("BOOTPROTO=static\n")>>ipfile
printf("CLONENUM_START=%d\n",clone_num)>>ipfile
ip_list[4]=ip_start;
printf("IPADDR_START=%s\n",ip_str(ip_list))>>ipfile
ip_list[4]=ip_end;
printf("IPADDR_END=%s\n",ip_str(ip_list))>>ipfile
clone_num+=numofpc[ip_mask];
printf("ONBOOT=yes\n")>>ipfile
gen_mask(ip_mask,ip_list)
netmask=ip_str(ip_list)
printf("NETMASK=%s\n",netmask)>>ipfile
}

EOF
chmod a+x $awktmp

msg=`mktemp`
cat >$msg <<EOF
請輸入IP地址和掩碼每行一行(不可出現空白行)
如:
45.34.89.40/29
23.91.3.0/28
23.91.8.32/28
23.91.18.160/28
23.91.28.128/28
EOF

vi +":!cat $msg" $ip_txt
#service network restart

test -e $ip_txt && awk -f $awktmp $ip_txt
service network restart
rm -f $awktmp $msg $ip_txt
rm -f ipcfg.sh
=====================================================

此腳本只適用於 

45.34.89.40/29
23.91.3.0/28
23.91.8.32/28
23.91.18.160/28
23.91.28.128/28

這種格式IP段添加,請註意腳本網卡名稱和機器網卡名稱是否一致

使用方法,命名為ipcfg.sh
1. 會提示IP文件是否已經存在,讓選擇是否刪除。我們只用於第一次添加。儘量不要去補充添加。
2. 按回車鍵,然後按 i 進入編輯模式,輸入IP段。iP段一個一行,不要有空格。 保存。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 傳統的電腦應用大多使用關係型資料庫來存儲數據,比如大家可能熟悉的MySql, Sqlite等等,它的特點是數據以表格(table)的形式儲存起來的。資料庫由一張張排列整齊的表格構成,就好像一個Excel表單一樣,每個表格會有若幹列,比如一個學生信息表,可能包含學號、姓名、性別、入學年份、高考成績、 ...
  • 3.4 usermod命令--更改用戶帳戶屬性 -a|--append ##把用戶追加到某些組中,僅與-G選項一起使用 -G|--groups ##把用戶追加到某些組中,僅與-a選項一起使用;把該用戶從其他用戶組移除,並添加到指定的用戶組內,這時不與-a一起使用 [root@24centos7-01 ...
  • 基本思路就是安裝這個工具:network-manager-l2tp 安裝方法:Ctrl+Alt+T打開Terminal: 安裝完成之後,重啟電腦進行配置,如下圖: 點擊:IPsec設置: 另外,也可以自己編譯:可參考:Enabling L2TP over IPSec on Ubuntu 16.04。 ...
  • win10的上帝模式就是win10的全部功能展示模式,因為功能太強大,所以被戲稱為“上帝模式”。要開啟win10的上帝模式,需要按下麵的步驟來操作:1、在window桌面新建一個普通的文件夾。 2、將剛纔新建的文件夾重命名為:上帝模式.{ED7BA470-8E54-465E-825C-9971204 ...
  • CentOS 7.x開始,CentOS開始使用systemd服務來代替daemon,原來管理系統啟動和管理系統服務的相關命令全部由systemctl命令來代替。 1、原來的 service 命令與 systemctl 命令對比 daemon命令 systemctl命令 說明 service [服務] ...
  • Mac OS Joins AD Windows Mac OS Joins AD Windows 1、安裝puppet for mac os 2、進入“用戶與群組”--“登陸選項”--編輯“網路賬戶伺服器” 3、進入“打開目錄使用工具…”--“服務”--“Active Directory” 4、展開左 ...
  • 卸載SSH; 先停掉SSH服務:sudo stop ssh 檢查SSH是否停止:ssh localhost 檢查SSH是否啟動: ps -e|grep ssh 卸載SSH:apt-get --purge remove openssh-server --purge 指明這個包裹應該被完全清除 安裝SS ...
  • ubuntu 下使用vi時方向鍵亂碼,退格鍵不能使用的解決方法 問題表現:Ubuntu下,初始使用vi,編輯模式下使用方向鍵的時候,並不會使游標移動,而是在命令行中出現A B C D 之類的字母,並且編輯錯誤的話,連退格鍵建(backspace)都無法使用,只能用delete來刪除。 解決方法: 首 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...