防火牆設定的小問題
今天也算忙忙碌碌,處理了不少小問題,自己也總結幾個問題,本來寫點MySQL和mongoDB的東西,發現還是沒有準備好,再補補分享給大家。
### 批次處理防火牆許可權開通
每天都會接到不少的請求,有一部分是關於許可權開通的,一般的流程就是登陸到目標機器,然後賦予相應的協議和埠,如果檢查發現已經開通了許可權,就不需要了。
所以如果要開通某個客戶端的許可權,可能對應很多臺伺服器,這樣一來,處理工作就是大批次的重複性勞動,而且還繁瑣。
所以磨刀不誤砍柴工,先寫個簡單指令碼來做個半自動化。
#!/usr/bin/expect
set dbip_addr [lindex $argv 0]
set dbip_port [lindex $argv 1]
set ip_addr [lindex $argv 2]
set timeout 5
spawn scp -r open_firewall_dep.sh $dbip_addr:/home
send "exit \r"
expect eof
spawn ssh $dbip_addr
send "sh /home/open_firewall_dep.sh $ip_addr $dbip_port \r"
expect eof
這個指令碼會呼叫例外一個真正校驗的指令碼,內容如下,這個指令碼會去檢查防火牆的設定,如果沒有對應的埠許可權,就去設定,如果存在則忽略。
ip_exists_flag=`iptables -nvL|grep -w $1|wc -l`
echo $ip_exists_flag "ip address is founded from firewall list"
if [ ${ip_exists_flag} -eq 0 ];then
echo "iptables -I INPUT -s $1 -p tcp -m multiport --dports $2 -i `ifconfig |head -1|awk '{print $1}'` -j ACCEPT ";
iptables -I INPUT -s $1 -p tcp -m multiport --dports $2 -i `ifconfig |head -1|awk '{print $1}'` -j ACCEPT
echo "iptables -nvL|grep -w $1 ";
iptables -nvL|grep -w $1
echo "service iptables save";
service iptables save
else
echo "nothing to do";
fi
執行指令碼只需要輸入服務ip, 埠,客戶端ip即可。
./b.sh 10.6.48.105 1521 10.127.142.168
前幾天配置了好幾百臺的伺服器許可權開通,使用這個方法就花了大概10多分鐘就搞定了。而且會進行基本的校驗,linux環境下沒有問題,暫時排除了Unix的設定。
#####Solaris的vi問題
至於solaris的防火牆設定,會和linux有差別,舉一個例子。
但是在solaris上使用vi編輯檔案,結果有了下面的警告,讓人匪夷所思。
root@xxxxx # vi /etc/ipf/ipf.conf
linux: Unknown terminal type
I don't know what kind of terminal you are on - all I have is 'linux'.
[Using open mode]
"/etc/ipf/ipf.conf" 933 lines, 62110 characters
block in log on e1000g0 from any to any
# echo $TERM
linux
解決方法就是設定為其它的TERM,比如
TERM=vt100
可能這種問題可遇不可求,很難碰到,但是碰到了還是讓人有些不知所措。
### 批次處理防火牆許可權開通
每天都會接到不少的請求,有一部分是關於許可權開通的,一般的流程就是登陸到目標機器,然後賦予相應的協議和埠,如果檢查發現已經開通了許可權,就不需要了。
所以如果要開通某個客戶端的許可權,可能對應很多臺伺服器,這樣一來,處理工作就是大批次的重複性勞動,而且還繁瑣。
所以磨刀不誤砍柴工,先寫個簡單指令碼來做個半自動化。
#!/usr/bin/expect
set dbip_addr [lindex $argv 0]
set dbip_port [lindex $argv 1]
set ip_addr [lindex $argv 2]
set timeout 5
spawn scp -r open_firewall_dep.sh $dbip_addr:/home
send "exit \r"
expect eof
spawn ssh $dbip_addr
send "sh /home/open_firewall_dep.sh $ip_addr $dbip_port \r"
expect eof
這個指令碼會呼叫例外一個真正校驗的指令碼,內容如下,這個指令碼會去檢查防火牆的設定,如果沒有對應的埠許可權,就去設定,如果存在則忽略。
ip_exists_flag=`iptables -nvL|grep -w $1|wc -l`
echo $ip_exists_flag "ip address is founded from firewall list"
if [ ${ip_exists_flag} -eq 0 ];then
echo "iptables -I INPUT -s $1 -p tcp -m multiport --dports $2 -i `ifconfig |head -1|awk '{print $1}'` -j ACCEPT ";
iptables -I INPUT -s $1 -p tcp -m multiport --dports $2 -i `ifconfig |head -1|awk '{print $1}'` -j ACCEPT
echo "iptables -nvL|grep -w $1 ";
iptables -nvL|grep -w $1
echo "service iptables save";
service iptables save
else
echo "nothing to do";
fi
執行指令碼只需要輸入服務ip, 埠,客戶端ip即可。
./b.sh 10.6.48.105 1521 10.127.142.168
前幾天配置了好幾百臺的伺服器許可權開通,使用這個方法就花了大概10多分鐘就搞定了。而且會進行基本的校驗,linux環境下沒有問題,暫時排除了Unix的設定。
#####Solaris的vi問題
至於solaris的防火牆設定,會和linux有差別,舉一個例子。
echo 'pass in quick on e1000g0 proto tcp from 10.127.xxxx to any port = 1522' | ipf -f -
/etc/ipf/ipf.conf ||pass in quick on e1000g0 proto tcp from 10.127.xxxxx to any port = 1522
ipfstat -io|grep "10.127"
但是在solaris上使用vi編輯檔案,結果有了下面的警告,讓人匪夷所思。
root@xxxxx # vi /etc/ipf/ipf.conf
linux: Unknown terminal type
I don't know what kind of terminal you are on - all I have is 'linux'.
[Using open mode]
"/etc/ipf/ipf.conf" 933 lines, 62110 characters
block in log on e1000g0 from any to any
# echo $TERM
linux
解決方法就是設定為其它的TERM,比如
TERM=vt100
可能這種問題可遇不可求,很難碰到,但是碰到了還是讓人有些不知所措。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26845409/viewspace-1815523/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 防火牆iptables 設定防火牆
- CentOS防火牆設定CentOS防火牆
- win10防火牆在哪裡設定 win10防火牆設定的方法Win10防火牆
- MSN messenger登入時報防火牆設定錯誤問題Messenger防火牆
- CentOS 7 防火牆設定CentOS防火牆
- Centos iptables防火牆設定CentOS防火牆
- Oracle穿越防火牆設定Oracle防火牆
- 軟體防火牆引起的問題防火牆
- Linux設定防火牆iptablesLinux防火牆
- win10電腦防火牆在哪裡設定 win10設定防火牆的步驟Win10防火牆
- win10 防火牆設定方法_win10怎麼設定網路防火牆Win10防火牆
- w10防火牆在哪裡設定 windows10防火牆設定操作方法防火牆Windows
- Windows Server +FileZilla server的防火牆設定WindowsServer防火牆
- Mac有防火牆嗎?關於Mac防火牆常見的問題解答Mac防火牆
- windows10防火牆設定在哪裡_win10如何設定防火牆Windows防火牆Win10
- 雲伺服器需要防火牆嗎?防火牆如何啟用設定?伺服器防火牆
- Ubuntu 下使用 UFW 設定防火牆Ubuntu防火牆
- rehdat 5.3 iptables 的防火牆設定說明防火牆
- Centos7設定關閉防火牆CentOS防火牆
- Linux防火牆iptables實用設定Linux防火牆
- 防火牆設計中的一些重點問題(2)(轉)防火牆
- 防火牆設計中的一些重點問題(1)(轉)防火牆
- 在防火牆上開發Oracle埠的問題防火牆Oracle
- 恆訊科技分析:什麼是vps防火牆?如何設定vps防火牆?防火牆
- windows10網路防火牆在哪裡設定 windows10自帶網路防火牆怎麼設定Windows防火牆
- 防火牆常見問題十問十答(轉)防火牆
- 工作小記之防火牆防火牆
- 設定TSMserver與TSM client穿過防火牆Serverclient防火牆
- wampserver搭建站點 允許訪問通過防火牆的設定方法Server防火牆
- win10怎麼設定防火牆許可權_win10電腦防火牆許可權如何設定Win10防火牆
- 轉載: 總結:oracle穿過防火牆的問題Oracle防火牆
- Linux防火牆Iptable設定只允許某ip訪問某埠Linux防火牆
- 伺服器做好安裝和設定防火牆伺服器防火牆
- 伺服器防火牆設定一網打盡伺服器防火牆
- linux學習筆記三:防火牆設定Linux筆記防火牆
- 在Linux中,如何設定防火牆規則?Linux防火牆
- 伺服器防火牆的作用是什麼?如何設定?伺服器防火牆
- Windows上Oracle開放防火牆埠問題(轉)WindowsOracle防火牆