You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hugo_backup/content/post/weird-client-server-connect...

3.4 KiB

title date noSummary featuredImage categories tags author
[筆記] 詭異的client&server間連線的問題或許跟KVM有關係 2018-11-08T18:01:23+08:00 false https://h.cowbay.org/images/post-default-4.jpg
筆記
ubuntu
筆記
Eric Chang

這是發生在一個夜黑風高的寂寥深夜..... ( What The FXXX ... )

來到這個環境之後,有一個很詭異的狀況一直困擾著我

在每個分公司都會有一台伺服器作為KVM Host

上面跑兩台VM一台作為ansible controller (目前沒作用)

另一台作為這邊所謂的 "Build Server"

用途包含了DHCP Server / Proxy Server (squid3) / APT Proxy (squid-deb-proxy)

問題就發生在這台 Build Server 上...

有陣子花了點時間去檢查各個分公司的網路環境確保每一台Build Server都能夠連接Internet

然後找了一個離總部最近的據點把這些電腦連接Internet 的方式改為用 proxy 來控制

在proxy內加入了 allowhost 的設定然後把user電腦上的瀏覽器都代入 proxy server (firefox/chrome 的設定方式不同)

acl localnet src 192.168.28.0/24
acl allowhost src "/etc/squid3/allowhost.txt"
acl localdomain dstdomain "/etc/squid3/localdomain.txt"
acl SSL_ports port 443
acl Safe_ports port 80      # http                                                                                                                          
acl Safe_ports port 21      # ftp
acl Safe_ports port 443     # https
acl Safe_ports port 70      # gopher
acl Safe_ports port 210     # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280     # http-mgmt
acl Safe_ports port 488     # gss-http
acl Safe_ports port 591     # filemaker
acl Safe_ports port 777     # multiling http
acl CONNECT method CONNECT

一開始這樣作還相安無事但是呢慢慢的時不時會有USER反應說無法連接 Internet

照理來說因為都是透過proxy上網所以如果是proxy server出問題那其他電腦應該也不行上Internet

但如果這樣的話,那就一點也不詭異了呀(攤手)

實際上的狀況是只有反應的USER的電腦無法連接Internet

然後真的詭異的來了

用USER電腦去 ping proxy server ,有時候會通,有時候不通..

從Proxy Server去 ping USER電腦也是類似的狀況

可是我卻可以透過IPSEC VPN分別SSH連接到這兩台機器上

這代表兩台的網路都OK呀..

正當我百思不得其解的時候,突然 USER電腦那邊的 ping 有反應了

變成可以 ping proxy Server 了! (What the FXXX !!!!)

我什麼都沒改呀...


反正呢...

這種狀況三不五時就會出現一次,會出現在哪一台電腦也不一定

不過,依照觀察到的狀況來說,似乎都是發生在很少開機的電腦上

然後呢,因為底層是 KVM

我也嘗試過用virsh 去restart VM 或者是 restart network

有時候可以解決,有時候又還是不能連接

於是另外測試安裝了 proxmox VE 的虛擬平台

在上面起一台新的Server再用 ansible 做成 build server的角色

這樣子作的機器,就不會發生這種狀況

所以我在猜是不是跟底層是KVM有關係..

不過要動這個的話,工程有點大,手邊也沒那麼多機器可以替換(很慘)

暫時先保留這個作法,等到下次再發生這狀況

再來找老闆看這情形然後來討論要不要換掉各分公司的VM Host...