在「How to stop TWC ISPs sucking at Youtube」這篇看到作者 (在美國) 抱怨時代華納 (Time Warner Cable,TWC) 連 YouTube 看影片的速度很慢,然後發現擋掉某個網段就快很多了...
看了 Hacker News 上的討論以及以前得知的架構,這些 IP 有可能是:
- YouTube 自己的 CDN 伺服器,以 appliance 的形式放到 TWC 內。
- TWC 買 YouTube cache solution 丟自己機房。
如果要猜的話,我會猜前者...
然後同樣問題也在 HiNet 發生,實際測試後就找到 210.71.222.x
這個網段。
在 Linux 下是使用 iptables 擋,其他作業系統可以在原文裡找到說明:(我自己的 Linux 是放到 /etc/rc.local
裡)
/sbin/iptables -A OUTPUT -d 210.71.222.0/24 -j REJECT
補充 Windows 的方法:
在「開始」選「執行」,輸入 cmd
,然後跳出黑色視窗後輸入:
netsh advfirewall firewall add rule name="BLOCKSLOWYOUTUBE" dir=in action=block remoteip=210.71.222.0/24 enable=yes
設定完後可以回到瀏覽器找影片測試 YouTube 的速度。
擋掉後會把流量導到國外 (測了幾個都是美國的機房),而連到國外機房可以跑到 8Mbps (速度會飄動,不過都超過 4Mbps),反而比國內 HiNet 機房內的速度快太多...
看起來是 YouTube 的 flash player 會先偵測位於 ISP 的伺服器,有問題時會使用備用方案 (在這邊是美國機房),只是使用備用方案比 ISP 的伺服器快多了。
話說safari的HTML5通常看youtube奇慢無比說不定也是類似原因?不過html5照理是不可以指定ip的吧....
歐歐! 立馬回家試試看!
希望能解決小朋友的大問題:
"爸爸! youtube 又卡住了!!!"
$ sudo ipfw add deny ip from me to 210.71.222.0/24
Freebsd or mac
Windows 解決方法那段的 ip 打錯了,remoteip=210.71.22.0/24 是不是少打了個 2?
修正了,感謝 XD
在 Mac 上用這個方法,真的有改善了 :D
感謝分享這個好方法,如果windows要取消這個設定該怎麼作呢?
# ipfw is deprecated in 10.7 and later, but still works
# 如果系統有開防火牆,10.7 以後預設是 pf (packet filter)
$ sudo vi /etc/pf.conf
# 加入
block drop in quick from 210.71.222.0/24 to any
$ sudo pfctl -f /etc/pf.conf
# 要在 System Preferences 的 Security & Privacy 內 firewall 有開才有用
喔喔 好棒 (HiNet sucks)
XP 可以在網路卡 進階的地方加一個 220.71.222.1 的 IP
default routing table 就會加一個 220.71.222.0 的 entry
現在 1080p 好順啊 大大
可以問一下,是怎麼查出是那些網段作cache的嗎?是抓封包嗎?
根據這個影片的說明 : http://www.youtube.com/watch?v=CB8UADuVM5A
連到這個網頁,會顯示 Youtube 被 redirect 到那裡去 : http://redirector.c.youtube.com/report_mapping
或許是用這種方法,抓出來有問題的區域的
感謝分享
請問我在TPLINK分享器如何設定?IP 位址這樣設定對嗎?目標通訊部要設什麼?80 PORT?有兩個空格怎麼填?
在 Mac 設定好後,用 Safari 上 Youtube 常常遭遇「目前無法播放影片。」的問題,改用 Chrome 則一切正常。><
我也想知道,一直說錯誤的IP位址
我是這樣設定就OK 有沒有效果....不知道=.=..
210.71.222.1-210.71.220.254
目標通訊埠 80
通訊協定 TCP
常用通訊埠 HTTP(網頁瀏覽)
不好意思 Yao-Ting Chiu大可不可以講得詳細一點,因為我也是XP,可是檔不了耶,感謝^^"
請問在Mac的terminal模式,指令要怎麼下?謝謝!
請問我是mac的照留言的做確變得更慢...請問要如何回復呢?我的OSX 10.8.2
請問可以直接在中華的小烏龜上設定嗎?要怎麼設定?
另外在Time Capsule上要怎麼設定呢?!
麻煩各位大大幫忙解惑一下!!
謝謝!
照用以後反而變更慢 哀= ="
sudo ipfw delete X
新的 IP range 出爐了 203.66.48.0/24
關於Windows的方法, 小弟要指出一個錯誤的地方.
上面寫的 rule 是阻擋 dir=in (也就是從 210.71.222.0/24 送來的TCP session),
但flash player 卻是從本機發出 tcp request 到 210.71.222.0, 是不受那條rule 的影響, tcp session 可以正常建立聯線到 hinet 的cache的.
所以.. 真正正確的 windows firewall rule 應該改成 dir=out 才對
因為中華電信改IP了,所以這IP擋住沒用
中華電信的YouTube Cache在2013年6月多改了IP,需要阻擋 203.66.48.0/24 這個網段。
Windows方法:
netsh advfirewall firewall add rule name="BLOCKSLOWYOUTUBE" dir=in action=block remoteip=203.66.48.0/24 enable=yes
Linux :
/sbin/iptables -A OUTPUT -d 203.66.48.0/24 -j REJECT
203.66.48.1~203.66.48.254
直接儲存
看了回文想請教"netsh advfirewall firewall add rule name="BLOCKSLOWYOUTUBE" dir=in action=block remoteip=203.66.48.0/24 enable=yes"
dir=in 跟 dir=out 有差別嗎? 哪個比較有效呢?