HAproxy配置IPv6和IPv4的互相代理實(shí)驗(yàn)

轉(zhuǎn)載:學(xué)習(xí)下并mark下

這里我們使用簡(jiǎn)單的 httpd 服務(wù)進(jìn)行測(cè)試。

實(shí)驗(yàn)環(huán)境


測(cè)試IPv6訪問

在機(jī)器 3 上安裝 httpd,配置監(jiān)聽 IPv4 和 IPv6 的 80 端口。

文件:/etc/httpd/conf/httpd.conf

Listen10.144.85.73:80

Listen[fd88:5110:a240::886:f252]:80

在 1 上通過 curl 訪問

curl10.144.85.73:80

IPv4 可以正常訪問,返回?cái)?shù)據(jù)較長(zhǎng),這里不再展示。

#curl-g[fd88:5110:a240::886:f252]:80

curl: (7)Failedconnecttofd88:5110:a240::886:f252:80;Connectionrefused

IPv6 地址無法訪問到 httpd 服務(wù)。IPv6 訪問不穩(wěn)定,有時(shí)可以正常返回?cái)?shù)據(jù)。

機(jī)器 1 上抓包來看,數(shù)據(jù)包發(fā)送出去了:

23:42:52.924028IP6epic1.52564>fd88:5110:a240::886:f252.http:Flags[S],seq480439591,win28800,options[mss 1440,sackOK,TS val 17786404 ecr 0,nop,wscale 7],length0

23:42:52.924033ethertypeIPv6,IP6epic1.52564>fd88:5110:a240::886:f252.http:Flags[S],seq480439591,win28800,options[mss 1440,sackOK,TS val 17786404 ecr 0,nop,wscale 7],length0

23:42:52.924035ethertypeIPv6,IP6epic1.52564>fd88:5110:a240::886:f252.http:Flags[S],seq480439591,win28800,options[mss 1440,sackOK,TS val 17786404 ecr 0,nop,wscale 7],length0

23:42:52.937267ethertypeIPv6,IP6fd88:5110:a240::886:f252.http>epic1.52564:Flags[R.],seq0,ack480439592,win0,length0

23:42:52.937270ethertypeIPv6,IP6fd88:5110:a240::886:f252.http>epic1.52564:Flags[R.],seq0,ack1,win0,length0

23:42:52.937271IP6fd88:5110:a240::886:f252.http>epic1.52564:Flags[R.],seq0,ack1,win0,length0

此時(shí)機(jī)器 3 上抓不到包。

HAproxy 代理測(cè)試

在機(jī)器 1 上安裝 HAproxy。

IPv6 代理 IPv4

我們配置 機(jī)器 1 的 IPv6 地址來代理 機(jī)器 3 的 IPv4 地址,配置如下:

另外,配置了 HAproxy 的管理頁(yè)面,這里不再贅述。

理論上,可以在瀏覽器中輸入http://[fd88:5110:a240::886:f250]:8080/,來測(cè)試。

由于公司環(huán)境,VPN 沒有代理 IPv6 地址,所以只能通過 curl 的方式測(cè)試。

在機(jī)器 3 上訪問:

curl -g [fd88:5110:a240::886:f250]:8080

數(shù)據(jù)可以正常返回,返回用時(shí)不穩(wěn)定,大部分情況下返回結(jié)果用時(shí)很長(zhǎng),用時(shí)近 15s。也有訪問無返回的情況。

通過 機(jī)器 2 訪問時(shí),一切正常!返回速度也很快!

IPv4 代理 IPv6

現(xiàn)在機(jī)器 3 的 httpd 服務(wù)無法通過 IPv6 正常訪問,我們只能采用迂回的方式來做這個(gè)測(cè)試了。

既然,在機(jī)器 2 上可以通過 IPv6 訪問 HAproxy 代理的服務(wù),那我們?cè)跈C(jī)器 2 上再做一層 HAproxy。

機(jī)器 2 的 HAproxy 配置:

這里的后端 http1 的地址使用的是機(jī)器 2 上的 HAproxy 的對(duì)外地址。

這里,可以通過瀏覽器訪問http://10.144.91.125:18080/:

正常訪問

結(jié)論

1、通過 HAproxy可以實(shí)現(xiàn) IPv4 代理 IPv6,IPv6 代理 IPv4

2、地址轉(zhuǎn)換時(shí)感覺還是有些問題,不確定是否是 httpd 服務(wù)的問題還是機(jī)器;

3、下一步需要部署真實(shí)服務(wù)再進(jìn)行驗(yàn)證

作者:hoxis

鏈接:http://www.itdecent.cn/p/09e62aa8caff

來源:簡(jiǎn)書

簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容