配置檔案:/etc/network/inte***ces
auto eth0
iface eth0 inet static
address 192.168.1.80
netmask 255.255.255.0
gateway 192.168.1.1
service networking restart
配置檔案: /etc/netplan/50-cloud-init.yaml
network:
ethernets:
eth0:
addresses: [192.168.1.80/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
version: 2
#!/bin/bash
# 設定需要ddns的位址,格式為 aliddns_subdomainname.aliddns_domainname ,
# 例如 aliddns_domainname 為 example.com, aliddns_subdomainname 為 ddns ,
# 連線起來就是 ddns.example.com
## 設定需要ddns的網域名稱
aliddns_domainname=
"domainname"
# 設定需要ddns的子網域名稱
aliddns_subdomainname=
"subdomainname"
# 設定網域名稱記錄的ttl (生存週期)
# 免費版產品最低為600(10分鐘)~86400(1天), 付費版(企業版)包括以上範圍, 還可以按照購買產品配置設定為:
# 600(10分鐘)、120(2分鐘)、60(1分鐘)、10(10秒)、5(5秒)、1(1秒),
# 請按照自己的產品配置和ddns解析速度需求妥善配置ttl值, 免費版設定低於600的ttl將會報錯。
aliddns_ttl=
"600"
# 設定阿里雲的accesskeyid/accesskeysecret,
# 可在 處獲取 ,
# 推薦使用 生成的ak/sk, 更安全
## 設定阿里雲的access key
aliddns_ak=
"access key"
# 設定阿里雲的secret key
aliddns_sk=
"secret key"
# 設定獲取本機ip需要執行的命令 (用於nslookup命令獲取ddns網域名稱的當前ip)
aliddns_localip=
"curl -s whatismyip.akamai.com"
# 設定解析使用的dns伺服器 (推薦使用 223.5.5.5/223.6.6.6 , 畢竟都是阿里家的東西)
aliddns_domainserverip=
"223.5.5.5"
# 防止使用者忘記設定引數導致程式報錯,部分引數如果檢測到空值,自動使用預設值
["$aliddns_localip"=""
]&& aliddns_localip=
"curl -s whatismyip.akamai.com"
["$aliddns_domainserverip"=""
]&&$aliddns_domainserverip
="223.5.5.5"
["$aliddns_ttl"=""
]&& aliddns_ttl=
"600"
# 獲取本機公網ip
aliddns_localip=
`$aliddns_localip 2>
&1` || die "$aliddns_localip"
# 獲取ddns網域名稱當前解析記錄ip
aliddns_domainip=
`nslookup $aliddns_subdomainname.$aliddns_domainname $aliddns_domainserverip 2>
&1`# 判斷上一條命令的執行是否成功if[
"$?" -eq "0"
]then
# 如果執行成功,分離出結果中的ip位址
aliddns_domainip=
`echo
"$aliddns_domainip"
|grep
'address:'
|tail -n1 |
awk''
` # 進行判斷,如果本次獲取的新ip和舊ip相同,結束程式執行if[
"$aliddns_localip"
="$aliddns_domainip"
]then
echo
"[$(
date
"+%g/%m/%d %h:%m:%s"
)] local ip ($aliddns_localip) is the same with domain ip ($aliddns_domainip)"
echo
"[$(
date
"+%g/%m/%d %h:%m:%s"
)] no change modified ..."
exit 0
fifi# 如果ip發生變動,開始進行修改
# 生成時間戳
timestamp=
`date -u "+%y-%m-%dt%h%%3a%m%%3a%sz"
`# url加密函式
urlencode(
)# url加密命令
enc(
)# 傳送請求函式
send_request(
)# 獲取記錄值 (recordid)
get_recordid(
)# 請求記錄值 (recordid)
query_recordid(
)# 更新記錄值 (recordid)
update_record(
)# 新增記錄值 (recordid)
add_record(
)# 判斷recordip是否為空if[
"$aliddns_recordid"=""
]then
aliddns_recordid=
`query_recordid | get_recordid`
fiif
["$aliddns_recordid"=""
]then
aliddns_recordid=
`add_record | get_recordid`
echo
"[$(
date
"+%g/%m/%d %h:%m:%s"
)] added recordid : $aliddns_recordid"
else
update_record $aliddns_recordid
echo
"[$(
date
"+%g/%m/%d %h:%m:%s"
)] updated recordid : $aliddns_recordid"
fi# 輸出最終結果if[
"$aliddns_recordid"=""
];then
# 輸出失敗結果 (因為沒有獲取到recordid)
echo
"[$(
date
"+%g/%m/%d %h:%m:%s"
)] ddns update failed !"
else
# 輸出成功結果
echo
"[$(
date
"+%g/%m/%d %h:%m:%s"
)] ddns update success, new ip is : $aliddns_localip"
fi
指令碼來自網路,非本人所寫!
cron是乙個linux定時執行工具,可以在無需人工干預的情況下執行作業。在ubuntu中,cron是被預設安裝並啟動的。1、crontab定時任務語法如下:
minute hour day month week user command
#順序:分 時 日 月 周 使用者 命令
2、說明:
minute
hour
daymonth
week
user
command
從 0 到 59 之間的任何整數
從 0 到 23 之間的任何整數
從 1 到 31 之間的任何整數
從 1 到 12 之間的任何整數
從 0 到 7 之間的任何整數
linux的使用者身份
要執行的命令 *
代表所有可能的值,例如 month 字段如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
,可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」
-可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」
/可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次,*/10,如果用在 minute 字段,表示每十分鐘執行一次。
crontab -e
# 新增
*/10 * * * * ~/script/aliddns.sh
sudo
service
cron restart
Ubuntu 下串列埠繫結
ubuntu繫結串列埠是利用udev規則 首先檢視裝置id 在終端輸入命令 將這裡的id號記錄下來然後開啟然後建立udev規則 在終端輸入命令 cd etc udev rules.d 建立.rules檔案填入 在檔案中輸入將idvendor idproduct修改 mode是許可權 kernel t...
阿里雲ecs配置輔助網絡卡繫結公網ip位址
前置條件 1.大家的例項是從經典遷移到vpc裡面的,上古時期,經典例項大家購買例項的時候都是買了頻寬的。而這種頻寬一般情況下都是包年包月的,而且這種繫結在例項上的ip,我們把它叫做公網ip,而公網ip不是eip,沒法解綁和繫結。2.為了實現把公網ip繫結在伺服器內部,我們需要乙個彈性輔助網絡卡 建立...
Ubuntu 單網絡卡繫結多個IP
注 我的是eth0,但別的電腦可能不同,具體檢視命令ifconfig,將你電腦出現的ethx替換成下文的eth0 第一種方法 快遞建立 刪除虛擬網絡卡 sudo ifconfig eth0 0 192.168.10.10 up 以上的命令就可以在eth0網絡卡上建立乙個叫eth0 0的虛擬網絡卡,他...