Shunze 學園 >資訊設備專區 >Sophos XG > 《分享》透過IPsec VPN將分公司流量全部導向總公司,怪怪的? 哈囉,還沒有註冊或者登入。請你[註冊|登入]
« 上一篇主題 下一篇主題 » 顯示成列印模式 | 增加到我的最愛
發表新主題 發表回覆
作者
主題
shunze
工友伯伯


註冊日期: 2002 04
來自: 潮汐終止之地
文章: 2370

shunze 離線
《分享》透過IPsec VPN將分公司流量全部導向總公司,怪怪的?引用回覆 編輯/刪除文章 搜尋由  發表的其他文章 回報給版主 IP 位置 回此頁最上方

客戶有需要,要將分公司流量透過IPsec VPN全部導向總公司,
然後統一在總公司做網頁控管。

IPsec VPN串好了,但分公司user對外卻有些怪怪的?
有些網站打不開、Line只能通話,無法傳送接收訊息?
這是怎麼回事?



原來這是一個和TCP設定封包所帶的資料上限MSS (maximum segment size)有關的問題。
MSS的預設大小是1460,在這樣全導向總公司的環境中,
封包在分公司經過IPsec再次封裝後,就有可能超過1460的允許大小,而導致部分網站與應用軟體無法正常開啟。

原廠建議修改的大小為1300
我記得在之前的某些版本XG,可以直接在WAN的interface設定中去修改MSS的大小。



但在這個最新的17.5.9 MR-9版韌體中,
修改這個設定是無效的,狀況無法排除!
必需在分公司的XG中,於advanced shell中以iptables指令來設定MSS的大小為1300。

iptables -t mangle -I POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300;
iptables -t mangle -I POSTROUTING -s 0.0.0.0/0 -d 192.168.2.0/24 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300;


查詢iptables指令設定結果如下。
iptables -L -t mangle | grep TCPMSS


不過這個指令不是永久性的,重開機後就失效了。
為了讓它永久性的的生效,可以把它寫在 customization_application_startup.sh 中,
流程如下。
mount -o remount,rw /
vi /scripts/system/clientpref/customization_application_startup.sh
mount -o remount,ro /


完成後的 customization_application_startup.sh 應該有如下的內容。
#!/bin/sh
iptables -t mangle -I POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300;
iptables -t mangle -I POSTROUTING -s 0.0.0.0/0 -d 192.168.2.0/24 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300;
exit 0;


經過以上的調整後,分公司透過總公司連外的奇怪問題總算是一舉排除了∼



參考資料
How to set the MSS value for remote network(s)
IPSec VPN - Path MTU
TCP maximum segment size 是什麼以及是如何決定的



♥順子老婆的網拍,請多關照∼

If you don't like something, change it.
If you can't change it, change your attitude.
Don't complain!




2020-01-03, 13:55 shunze 的個人資料 把 shunze 加入好友列表 發送Email給 shunze 瀏覽 shunze 的網站 MSN : shunze@gmail.com
  « 上一篇主題 下一篇主題 »
發表新主題 發表回覆
跳到:

Powered by: Burning Board 1.1.1 2001 WoltLab GbR