訪問不了伺服器端口問題
遇到乙個問題:
客戶反饋能夠ping通伺服器,但遠端連線不上伺服器(整個公司能有一兩個
client
端能連上伺服器),也訪問不了伺服器上的其他埠
排查過程如下:
1.讓客戶提供telnet埠報錯資訊,顯示超時(通過超時能判斷些問題)
2.判斷網路連通性,
client
端可以ping
通伺服器
3.檢查伺服器端口是否監聽,埠監聽正常
4.是否系統內防火牆和pam模組有限制,檢查發現系統內
iptables/ufw
和pam
模組預設策略 沒有問題
5.檢查系統內hosts.deny和
hosts.allow
是否有對客戶
ip做相關限制,發現沒有限制
6.檢查系統內相關日誌,也沒有異常日誌,但客戶嘗試登陸的日誌並沒有記錄到auth.log裡,從這裡看估計請求都沒有到達七層應用層面去,不然日誌服務正常的話肯定會記錄。
7.讓客戶連線然後在伺服器端抓包發現,伺服器能收到syn包,但是沒有回應。這就能定位是系統層面限制導致的了,只要找到這個限制就行(結合第五條分析,基本判斷限制是在系統層面的,不是應用層面的限制了)
一番抓耳撓腮 n個小時之後,通過客戶提供的主機許可權,發現
/etc/sysctl.conf
檔案在客戶反饋問題的當天有做配置修改。
接著進行配置檢視發現net.ipv4.tcp_rw_recycle = 1這個核心引數值為
1,由於客戶公司內網辦公環境是通過
nat轉換成乙個固定公網
ip外出訪問,但開啟了這個引數之後,伺服器會對收到的包進行時間戳比對,但
nat環境中多台主機同時請求就會出現tpc/ip時間戳不連續,造成服務端丟棄資料報
不做響應,
剛好克制這種nat環境,讓客戶把
rw_recycle
的值改成
0在測試就好了。
之前還問過客戶有沒有做相關配置改動,客戶乙個勁說
沒有沒有啊!
請問世界上什麼最硬??
那肯定是客戶的嘴啊!
不過這客戶還是很有愛的哈哈哈
從任何主機都能訪問到伺服器上的MySql的方法
先要進入mysql bin目錄下 1。改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 mysql 資料庫裡的 user 表裡的 host 項,從 localhost 改稱 mysql u root pvmwarem...
從任何主機都能訪問到伺服器上的MySql的方法
從任何主機都能訪問到伺服器上的mysql的方法 先要進入mysql bin目錄下。1 改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 mysql 資料庫裡的 user 表裡的 host 項,從 localhost ...
Linux伺服器連線不上3306埠,解決
一般連線遠端的 mysql 3306埠 連線不上有3種原因 本機上防火牆沒有開放3306埠,需要自己配置入站規則,或者關閉本機防火牆。linux 伺服器上的 iptables 防火牆沒有開放3306埠,或者關閉伺服器上的防火牆。開啟 etc sysconfig iptables 在 a input ...