一、情景linux
公司有2條二級運營商的鏈路,鏈路很是不穩定。更爲嚴重的是咱們申請固定IP,出口IP居然老是變更。公司全部業務都須要經過外網,影響面很是大。有人提示能夠對出口作監測,發現IP變更趕忙處理。我百度發現curl能夠經過網站拿到出口地址後就直接寫了,測試成功,就記錄下來share一下。新辦公區選址,運營商線路選擇也是很是重要,否則是更多的坑在等着你。服務器
鏈路監測首先保證你作監測的服務器在你的那條出口鏈路上,這不用多說,以下簡單示意圖:curl
先用ip138,就能夠查看你本地址。ide
二、post
開始監控郵件想用sendmail,但問題百出。因而用linux自帶的postfix,把命令行放到腳本里便可。測試
1>關閉selinux網站
[root@bogon ~]# cat /etc/selinux/config url
# This file controls the state of SELinux on the system.spa
# SELINUX= can take one of these three values:命令行
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
2>關閉防火牆
service iptables off
chkconfig iptables off
3>關閉sendmail
service sendmail stop
chkconfig sendmail off
4>開啓postfix
service postfix restart
chkconfig postfix on
5>保證sendmail關閉,postfix開啓
[root@bogon ~]# service postfix status
master (pid 53164) 正在運行...
[root@bogon ~]# service sendmail status
sendmail 已停
sm-client 已停
如今用postfix至關於foxmail同樣,都屬於客戶端,用客戶端主動去鏈接服務器端,而後發送郵件。
以QQ企業郵箱爲例,首先在郵箱客戶端設置以下,開啓SMTP,有什麼受權驗證碼的自行解決處理:
postfix端配置以下:
FROM 填本身的郵箱,SMTP,SMTP-AUTH-USER填本身郵箱,PASSWORD填密碼,方式LOGIN。
測試郵箱發送報警郵件,test後面加本身的郵箱測試,成功後寫入下面腳本:
作監控腳本:
建立ip_changed用來存放IP改變的時間,建立iptest用來存放監控腳本是否按計劃任務來執行。因爲目前出口IP固定,能夠用錯誤的IP來實現if的mail測試(我已經實驗成功)。
三、計劃任務
1分鐘作一次IP的探測,保證能及時收到通知。
crontab -e 編緝一下計劃任務
查看歷史記錄,以下數聽說明腳本執行成功,若是有IP變更就能夠及時收到通知。你們還能夠加入出口連通性測試,但閥值設高點,否則敏感了容易誤判。
[root@bogon home]# tail iptest.txt