2017年11月14日 星期二

[Linux] 不使用 Firewalld 改用 Iptable

因為之前參加考試發現在使用firewalld時,需要對每一個服務單獨開policy
覺得很麻煩,如果是考試的時候又會因為緊張而忘記,這邊告訴大家一個小技巧
就是使用iptable來去寫完所有要做的事情,一次搞定他就好了(針對於考試而已)
實務上盡量寫詳細一點比較安全

首先先對於firewalld 停用,然後再啟動iptables
老話一句,盡量用tab去補齊字元,不要自己打很容易出錯

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl enable iptables.service
systemctl start iptables.service

再來就是寫你需要的設定囉

vim fw.sh

#/bin/bash
iptables x
iptables y
iptables z


編輯完後記得把檔案權限提權(帥哥編這邊使用755)
然後都做完了對吧,重點來囉
一定要把他放入到rc.local裡面,不然開機不會自動執行喔
vim /etc/rc.local 放到最後一行
/root/fw.sh

都放完後,可以執行一遍看你的shell有沒有寫錯或是有問題
再用iptalbes -L 去查看是否有生效



2017年10月22日 星期日

[Linux] 透過proxy連外的設定方式

Linux 透過proxy連外的設定方式
一 RHEL(Fedora,centos應該也差不多)
1.CMD方式
暫時生效
# export http_proxy=http://username:password@"Proxy IP":port
# export ftp_proxy=http://username:passord@"Proxy IP":port
//其中如果proxy server不須要帳密,就只要打http://"Proxy IP":port即可

永久生效
# vim ~/.bashrc   //將上面兩行export加入即可
# source ~/.bashrc

YUM更新
# vim /etc/yum.conf   //加入

proxy=http://username:passord@"Proxy IP":port

[Linux] bash tab 自動補齊指令可用的選項參數

Linux bash tab 自動補齊指令可用的選項參數

Linux 系統指令操作時,按「tab」鍵,可自動補齊或提示可用的指令。
若希望其他後面要接的參數,也可自動補齊或提示。
可安裝 bash-completion
# yum install bash-completion
安裝後從新登入,即可。
若不想重新登入,可重新跑一次環境變數設定檔 /etc/profile 

# source /etc/profile

2017年10月18日 星期三

Apple MDM Server Port

描述檔管理程式會使用某些傳輸埠來進行裝置登記和管理。
若要使用描述檔管理程式,您應確定網路上已開啟下列傳輸埠。
如需在內網管理apple device時需要一個對外的固定ip去驗證
需開下列這些port for 17.0.0.0.0/24 整段
這段的ip都是apple 所有,建議整段開啟以免會造成驗證失敗


傳輸埠
傳入或傳出
TCP/UDP
說明
2195、2196
傳出
TCP
「描述檔管理程式」用來傳送推播通知
5223
傳出
TCP
用來維持 APN 的持續連線並接收推播通知
80/443
傳入
TCP
可供「描述檔管理程式」管理員存取 Web 介面
1640
傳入
TCP
憑證授權的登記存取權

因為最近在導入mdm 管理系統,剛好把遇到的問題以及解決的方法放上blog供大家參考
也歡迎詢問

2017年10月13日 星期五

Centos Postfix Server安裝設定教學

Postfix軟體需求CentOS 6
(此編教學都是在CentOS 6下進行的,其它的Linux版本或是CentOS 5之前的版本可能不適用)
Postfix安裝
安裝指令
1
yum install postfix
CentOS 5之前預設的Mail Server服務是Sendmail,而在CentOS 6 後即是以Postfix當作預設的 Mail Server,Postfix比起Sendmail在設定上更容易上手,因此不需要像網路上其它的教學安裝system-switch-mail,因為system-switch-mail是用來將Sendmail切換成Postfix。
Postfix最主要的功能則是啟動SMTP的服務,也就是架設一台MTA(Mail Transfer Agent)。
Postfix設定
Postmail的主要設定都在”etc/postfix/main.cf”,編輯的方式如下
1
#vi /etc/postfix/main.cf
以下就來介紹要架設完一台MTA(也就是Mail Server的SMTP服務)的相關設定
1.設定Hostname,Hostname即是我們的郵件伺服器的主機名稱,是由英文字母或數字所組成,比如www.google.com或mail.google.com就是一個Hostname。Postmail的Hostname設定如下
尋找”#myhostname =”字串,預設會看到”#myhostname = host.domain.tld”和”#myhostname = virtual.domain.tld”這二行字串
請在這二行後面增加以下的字串設定即可
1
2
3
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = 你的主機名稱 #新增此行,約加在第77
2.設定網域名稱(Domain Name),主機名稱通常都是在建立在網域名稱之內,像是www.google.com則是網頁服務,mail.google.com則會是郵件主機服務,通常網域名稱都會是主機名稱(Hostname)去掉第一個掉包含前面的文字部份,比如說www.google.com的Domain則是google.com。 以下則是Postfix的網域名稱設定方法
尋找”#mydomain =”字串,預設會看到”#mydomain =domain.tld”
新增一行如下
1
2
#mydomain =domain.tld
mydomain = 你的網域名稱         #新增此行,約加在第  85
3.設定Origin Name,Origin Name是我們的郵件位址在”@”後面的文字內容,比如像是stnet253@gmail.com,gmail.com就是我們的Origin Name,而stnet253則是郵件擁有人的帳號名稱。以下為Postfix的Origin Name的設定。
尋找”#myorigin = $mydomain”字串,將”#”移除,變成
1
2
3
#myorigin = $mydomain                               #刪除此行

myorigin = $mydomain                 #新增此行,約加在第  100
4.設定 postfix 的監聽介面,Postfix預設只會監聽來自於本機端的所傳出的封包,必須使用下列設定,才可以傳收所有來自於網路端的所有封包。
尋找”#inet_interfaces = all”字串,將”#”移除 (表示此行Enable) 。
後面的”inet_interfaces = localhost”字串,在最前面加上”#”(表示disable此行設定)
此步驟的設定內容整理如下
1
2
3
4
inet_interfaces = all #修改此行,約在第 114
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, locatlhost
#inet_interfaces = localhost #修改此行,約在第 117 行
5.修改Postfix的通訊協定,目前網路的協定主流有IPv4與IPv6,在大部份的情況下,我們都是利用IPv4在通訊的,如果你的Mail Server沒有需要使用到IPv6,可以做以下的設定修改。
尋找” inet_protocols = all”字串,改成
1
inet_protocols = ipv4 #約在第 120
6.設定能收收信件的主機名稱,Postfix預設只能收到設定的Hostname與Domain Name以及本機端的信件,此步驟是再增加能收信件的網路名稱。
尋找”mydestination = $myhostname, localhost.$mydomain, localhost”字串,在最前面加入”#”(表示此行disable)。
將”#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain”的”#”移除(表示此行Enable)。
#mydestination = $myhostname, localhost.$mydomain, localhost
1
2
3
4
5
#修改此行,約在第 165行

mydestination = $myhostname, localhost.$mydomain, localhost, mydomain

#修改此行,約在第 166行
7.設定信任的用戶端,當要寄信時,會參考此值,若非信任的用戶,則不會幫你的信件轉到其它的MTA主機上
尋找”#mynetworks =”,在”#mynetworks = hash:/etc/postfix/networks”這行後面加上
1
2
3
4
5
#mynetworks = hash:/etc/postfix/networks

mynetworks = 127.0.0.0/8, 192.168.1.0/24, hash:/etc/postfix/access

#加入此行,約在268行
8.規範可以 relay 的 MTA 主機位址,通常這個都直接設為mydestination
尋找”#relay_domains = $mydestination”,將”#”移除,變成
1
relay_domains = $mydestination                 #修改此行,約在第 298
9.設定郵件別名的路徑
檢查” alias_maps”設定是否為以下字串設定
1
alias_maps = hash:/etc/aliases                     #約在第 388
10.設定指定郵件別名表資料庫路徑
檢查” alias_ database”設定是否為以下字串設定
1
alias_database = hash:/etc/aliases               #約在第 399
在main.cf的設定整理如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
myhostname = 你的主機名稱                    #約在第  77

mydomain = 你的網載名稱                        #約加在第  85

myorigin = $myhostname                             #約在第 100

inet_interfaces = all                       #約在第 114 行,117 行要註解掉

inet_protocols = ipv4                     #約在第 120

mydestination = $myhostname, localhost.$mydomain, localhost, mydomain  #約在第166

mynetworks = 127.0.0.0/8, 192.168.1.0/24, hash:/etc/postfix/access #約在268

relay_domains = $mydestination                 #約在第 298

alias_maps = hash:/etc/aliases                     #約在第 388

alias_database = hash:/etc/aliases               #約在第 399
11.設定完成後,請在終端機下輸入以下二行指令(詳細請參考後面章節” 設定郵件主機使用權限與過濾機制”及” 郵件別名”)

1
2
3
# postmap hash:/etc/postfix/access

# postalias hash:/etc/aliases
12.重啟postfix就可以利用smtp的服務收發信件,在終端機視窗下輸入

1
# service postfix restart
13.檢查SMTP服務是否開啟,如果有的話,輸入下列命列,會看到Port 25正在監聽的狀態

1
# netstat -tlunp | grep ':25'
Postfix測試
1.寄信測試
此時我們已經可以利用此台主機使用smtp收送電子郵件了, 利用mail指令來測試
mail root@網域名稱
Subject:Test
This is test mail
.
EOT
2.收信測試
當我們從內部或外部寄信過來時,預設的郵件存放位址如下:
/var/spool/mail(或 /var/mail)
從此目錄裡查看帳號名稱的檔案,我們所收發的信件都會存在這裡
如果使用 ip:222.222.222.222 的主機經由outlook smtp寄信 會被
554 5.7.1 <username@gmail.com>: Relay access denied
請在main.cf中mynetworks設定後面加入
1
mynetworks = 127.0.0.0/8, 192.168.1.0/24, hash:/etc/postfix/access

1
2
cd /etc/postfix
vi access
加入外寄允許的ip
222.222.222.222  OK
不允許smtp
222.222.222.222 REJECT
修改完畢後要下行

1
postmap /etc/postfix/access

2017年10月11日 星期三

Fan Server Nagios 監控

Fully Automated Nagios  
  
參考完整、設定、安裝說明影片
參考官網設定說明

系統安裝
官網下載ISO燒成光碟後放入光碟enter 開始安裝

安裝步驟
1. 下載官方最新穩定版(Latest stable version),安裝方式如CentOS 系統內建安裝5.6
•Language  •Type of keyboard  •Partitioning  •Timezone  •Root password




2. 網路設定The network (IP address, routes, DNS…)
完成後重開機,即可連接
3. yum upgrade 將系統全面升級
4. 必裝軟體
1. 監控端
1. yum install fan-backup fanserver自帶備分軟體
2. 被監控端
1. yum install net-snmpd
2. apt-get install snmpd

主頁面介紹

紅色圈-Nagios     default login and password are: nagiosadmin/nagiosadmin
黑色圈-Centreon   設定功能

Centreon的各頁面簡介

主頁 –custom views 可以自訂各種欄位
    -home 檢視服務跟右上一樣(可省略)
    -monitoring 功能目前無使用
Home   Monitoring Engine Statistics   Performance Info-check各種監控次數與速度

監控  查詢各種監控狀況-並可由此設定

圖例   各種監控設備可圖列顯示

報告  快速查詢各設備 在某期間內監控狀況

設定  新增或更改各種監控模式

管理 各種管理參數設定



1. 新增使用者
1. Configuration>>User>>Add
2. General Information 一般資訊填寫,需特別注意通知項目的設定

2. ###重要   新增host

選單說明:
Duplicate: 複製- 可單選、多選後以此功能複製
Delete:  刪除-
Massive change: 大量部屬- 可多選下大量部屬設定
Enable: 啟用
Disable: 停用

Massive change
此大量部屬選項中 細項有
增加Incremental     附加新增條件
    更換Replacement    覆蓋原有條件


新增host
1. Configuration>>Host>>Add
2. Host Configuration 主機的監控設定   (同樣服務類型時間參數請設定相同)


3. 新增主機群組
     Relations
Data Processing
Host Extended Infos

4. 新增服務
1. 常用服務
1. CPU負載 check_centreon_snmp_cpu
2. 記憶體使用量check_centreon_snmp_memory
3. 磁碟容量監控check_centreon_snmp_remote_storage
4. port監控 check_tcp
2. 自建服務
因預設的服務監控項目自帶的參數有時候並不符合需求,有時候需要自行客製化監控項目,更改內部的參數,以取得自己真正需要的結果。

5. 匯出設定

1. 每次新增、修改或移除主機/服務,必需要匯出設定才會生效
Configuration>>Monitoring Engines>>將四項全部勾選>>export
1. 當有任何設定是無效時會出現錯誤訊息,請依照錯誤訊息排解錯誤。

2. 監控棒---簡易顯示被監控端主機是否有發生異常

3. 監控


作業時使用
各分services hosts 暫停監控時間 set downtime

線上服務要記得起
Enable notification 開啟監控
Disable notification關閉監控



4. 備份&還原
目前fanserver的備份原則定期備份
安裝lynx 
yum install lynx
apt-get install lynx
1. 利用yum install fan-backup 安裝fanserver專用的備份軟體
2. 執行/opt/fan_backup.pl –s,系統會自動將資料庫備份到/var/ BACKUP/ XXXXXXXX_XXXXXX/
的目錄下
還原
備份路徑為xxx.xxx.xxx.xxx:/pool/BACKUP/client-mon,設定檔範例已放至/root/backup.sh
3. cd /var/backup/XXXXXXXX_XXXXXX/ 還原檔案目錄
4. rsync -ravcz centreon /etc
5. rsync -ravcz nagvis /etc
6. rsync -ravcz logos /usr/share/nagios/images/
7. rsync -ravcz plugins /usr/lib/nagios/ # i386 arch or
rsync -ravcz plugins /usr/lib64/nagios/ # x86_64 arch
8. rsync -ravcz pages /var/www/dokuwiki/data/
9. cd /var/backup/XXXXXXXX_XXXXXX/databases 還原資料庫
10. zcat centreon2/centreon2.sql.gz | mysql centreon2
11. zcat centreon2_storage/centreon2_storage.sql.gz | mysql centreon2_storage
12. zcat nagios/nagios.sql.gz | mysql nagios
#以上備份還原操作亦可參考fan nagios官方FAQ
進階設定
1. 新增監控主機的小技巧
2. 善用Duplicate節省大量建置多服務的監控主機的時間
ex:要監控兩台DC主機的多項服務,我們可以先在第一台DC加入所有要監控的服務
,第二台DC只需要複製第一台的Host就能連同所有服務一起複製了。
3. 操作方式
在被監控DC加完所有服務之後,複製一台出來,並更改ip及名稱就完成第二台DC的監控了。



4. 讓警告通知以簡訊方式發放
script:
***************************************************************************************
#!/bin/bash
HOSTSTATE=$1 #宣告參數
HOSTADDRESS=$2
HOSTNAME=$3
HOSTOUTPUT=$4

stime=$(date "+%F %H:%M:%S") #宣告時間格式以2014-05-09 11:21:02這種格式輸出
phone=(09******** 09*********) #宣告電話號碼,並以空白做間隔
msg="Host $HOSTSTATE alert for $HOSTNAME [$HOSTOUTPUT]!" #宣告傳送訊息格式

for ph in ${phone[@]} #當輸入ph時,寫入phone參數
do
    echo "lynx -dump http://sms.104.com.tw/ENSMS/sendSMS.jsp?DeptID=ESE10&PjNo=warning>net&PhoneNo=$ph&EncodingType=&SMSBody=$stime>$msg - [script: send-host-sms.sh on fanserv.]&Priority=1" >> /tmp/send-host-sms.sh.log #建立log檔
done #發送訊息
***************************************************************************************
特別注意當建立此script時,其owner及group必須改為nagios才會被程式給執行,底層debug時常會遇見相同狀況,如監控windows磁碟時,bug會造成只能進行一次監控狀態就變回UNKNOWN,此時只要在該目錄下將檔案的owner及group改為nagios即可解決問題。

5. 將script寫好後,放在/usr/lib64/nagios/plugins。
1. 編輯centreon的執行指令 Configuration>>User>>Commands>>Add
6. Modify a Command 編輯指令後並存檔
Command名稱:send-host-sms.sh
Command Line:$USER1$/send-host-sms.sh "$HOSTSTATE$" "$HOSTADDRESS$"  "$HOSTNAME$" "$HOSTOUTPUT$"
7. 回到Configuration>>User>>要發送簡訊的使用者,將剛剛建立好的指令加進選單中,並設定通知選項,如下方主機設定勾選了當主機Down或Unreachable時發出簡訊通知。




8. 回到Configuration>>Host>>被監控的主機>>Host Configuration
9. 在Notification欄位將具有簡訊通知功能的聯絡人加入表內,存檔

1. 將設定匯出後即可發送通知簡訊。


Host-notify-by-email    詢問DNS 至root@localhost mail 發mail訊息
send-host-sms.sh   send-service-sms.sh    發給產品端
send-eerhost-sms.sh  send-eerservice-sms.sh   發給用戶端

其他路徑資訊
相關 plugin    /usr/lib64/nagios/plupins  (簡訊也需要由此更改設定)

監控主機相關的設定檔 /etc/nagios/objects 資料夾內

大量佈署範本機制  設定上 使用 use 來繼承 範本設定
                  範本設定檔 /etc/nagios/objects/templates.cfg

2017年10月6日 星期五

MacOS 製作可開機安裝程式

在 MacOS Sierra、El Capitan、Yosemite 或 Mavericks 中,您可以將 USB 隨身碟或其他卸除式媒體用做為啟動磁碟,然後從該磁碟安裝 Mac 作業系統。
這些進階步驟主要是為系統管理者及其他熟悉命令列的人員提供。請確定您使用的 USB 快閃磁碟或是其他卸除式媒體,具有至少 12GB 的可用磁碟空間。
在「終端機」中使用 createinstallmedia 指令
1. 從 Mac App Store 下載 macOS 安裝程式。下載完畢後,如果安裝程式自動開啟,請將它結束。安裝程式會位於「應用程式」檔案夾。
2. 裝載您的 USB 隨身碟或其他卷宗。您也可以使用第二個至少具有 12GB 可用磁碟空間的內部分割區來放置安裝檔案。
3. 開啟「終端機」app(位於「應用程式」檔案夾的「工具程式」檔案夾中)。
4. 在「終端機」中使用 createinstallmedia 指令,以建立可開機安裝程式。如需詳細的使用說明,請確定「應用程式」檔案夾中有適當的 macOS 安裝程式,接著在「終端機」中輸入下列其中一種路徑:

Sierra 的路徑:
/Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia

El Capitan 的路徑:
/Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia

Yosemite 的路徑:
/Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia

Mavericks 的路徑:
/Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia


這是指令的基本語法。請將 volumepath 換成您 USB 隨身碟或其他卷宗的路徑,並將 installerpath 換成「安裝 OS X」app 的路徑。
createinstallmedia --volume volumepath --applicationpath installerpath
下列範例假設 OS X 安裝程式位於您的「應用程式」檔案夾,而您的 USB 隨身碟或其他卷宗的名稱為 MyVolume:

Sierra 的範例:
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ Sierra.app

El Capitan 的範例:
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app

Yosemite 的範例:
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Yosemite.app

Mavericks 的範例:
sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Mavericks.app

2017年10月5日 星期四

XenServer失聯



一般來說會遇到網卡遺失 然後跟MASTER失連的問題 (center上面看到都是紅色狀態,但底層可以接)

最慘狀況就是連master 也網卡遺失…(剛剛就發生再pool2身上,還有之前的南東pool)

<網卡遺失就是從console上面看不到IP資訊或在底層下xsconsole看不到IP>

解法:
情境一:
如果是pool master失連 網卡消失情況發生, 造成相關pool指令都看不到vm

#xe pif-list
會出現
The host could not join the liveset because the HA daemon could not access the heartbeat disk.
代表應該是ha機制造成

#xe host-is-in-emergency-mode
如果回傳回來是trun 那就再代表這台host 為了保護這台主機上的VM所以進入緊急模式,就是代表為什麼每次看不到網卡,center不到,但VM還是可以正常運行

就可以下
#xe host-emergency-ha disable –force
HA關掉ß一般就是因為HA打開才會進入emergency-mode(緊急模式)

然後把所以服務重啟
# xe-toolstack-restart

這時再去看console 網卡就會起來;center他過一下就會接上了!!!


情境二:
materhost 發生

通常會發生代表MASTER應該也發生問題了(機率很高),如果這時處理好MASTER問題
直接下
# xe-toolstack-restart
他就會取得IP

MASTER確定正常 那先試試看 先把masterxe-toolstack-restart
再對有問題的host xe-toolstack-restart

####
如果想把slave host 變成pool master
可以下

#xe pool-emergency-transition-to-master