需求A服務(wù)器要訪問B服務(wù)器的數(shù)據(jù)庫
問題:mysql 連接超時(shí)
服務(wù)器:Ubuntu、iptables內(nèi)部防火墻
注釋:A服務(wù)器? B服務(wù)器 ,用A和B來代替服務(wù)器的IP地址。A服務(wù)器作為訪問服務(wù)器,B服務(wù)器作為被訪問服務(wù)器
1:首先在B服務(wù)器上查詢防火墻規(guī)則
iptables -nL --line-number
一般會有一條禁用任何服務(wù)器都可以訪問3306的規(guī)則,具體長什么樣子,我當(dāng)時(shí)沒在意。這里就不列舉了。
2:刪除那條禁用任何服務(wù)器訪問3306端口的規(guī)則
iptables -D INPUT 規(guī)則編號
3:刪除后增加一條讓A可以訪問的規(guī)則
iptables -I INPUT -s A -p tcp --dport 3306 -j ACCEPT
4:增加后用A訪問B發(fā)現(xiàn)可以訪問數(shù)據(jù)庫,但是為了安全,我又試著用C服務(wù)器訪問了B發(fā)現(xiàn)也可以訪問,這并不是我想要的效果,我想要的只是讓A訪問。
5:那么便在增加一條讓其他服務(wù)器不能訪問的規(guī)則
iptables -I INPUT -p tcp --dport 3306 -j DROP
增加后,發(fā)現(xiàn)我的A服務(wù)器又不能訪問了,我就郁悶了,搜了資料才知道防火墻是按照優(yōu)先級執(zhí)行的,我這樣的規(guī)則插入方法,會讓這條規(guī)則在第一個(gè),導(dǎo)致我對A服務(wù)器的規(guī)則不起作用。
6:刪除剛才加的那條禁用其他服務(wù)器訪問的規(guī)則,刪除命令和上面一樣,換編號就行了。
7:在增加一條禁用3306端口的規(guī)則優(yōu)先級低一點(diǎn)。
iptables -A INPUT -p tcp --dport 3306 -j DROP
然后用C在訪問發(fā)現(xiàn)不能訪問了,用A訪問可以訪問,到此就配置成功了。其實(shí)走到最后我發(fā)現(xiàn),就沒那么麻煩,直接新建一條優(yōu)先級高于禁用所有3306端口的規(guī)則就好了。
因?yàn)槭前⒗镌品?wù)器,首先需要排除你在阿里云的安全組設(shè)置開禁用3306端口的策略喲~
因?yàn)槲也皇菍I(yè)運(yùn)維,對此也只是僅僅以解決需要為主,寫的比較淺,希望可以幫助到一些道友。