如何解决内网中网络被限制的问题
來源:http://yangkuncn.cn/how_to_salve_network_cannot_visit.html
如何解決內網中網絡被限制的問題
目錄:
- 訪問被拒絕
- 拒絕訪問的原理
- 轉發tcp數據
- 為其它機器轉發
- ubuntu本地聯網
- 轉發udp數據
- 實際使用效果
原始引用地址:?如何解決內網中網絡被限制的問題
time: 2019.11.21 08:20
正式開始前先看個圖:
訪問被拒絕
訪問被拒絕
當你處于內網中,你想訪問的資源被網關拒絕時,如上圖中截圖,你應該怎么處理?有沒好的方法解決這些問題?當然有。你只需要一臺linux主機,虛擬機也可以。這臺linux主機充當你的網當,當需要訪問被拒絕的資源時,直接轉發到其它地方處理,這樣你就可以訪問這些資源了。當然你不知道哪些資源禁止訪問,簡單粗暴的方法是直接轉發所有的數據。拒絕訪問的原理
如下圖,是訪問被拒絕時的抓包數據,圖中1為一個正常的http get數據包,當網關檢測到其數據中的HOST的主機或ip在禁止訪問列表中時,中止正常的http連接,進行第2,3步。先給http client發個302轉移(就是我們上面看到訪問被拒絕的頁面),之后直接給http client發送了兩次rst(有可能一次是http server發的,一次是網關發的),這樣一個正常的http 連接就這樣被網關給中止了,這其實就是一個第三人攻擊了。其實網關在給client發301和rst數據時,他應該也給server發至少一個rst。
通過這個分析我們可以發現http連接是十分不安全的,可以過濾你的數據,篡改你的數據,給你發301,也可以給你發送垃圾信息,如廣告。如果是https你的信息,都是加密的,網關看不到任何傳輸的數據內容,包括剛才說的http get中的host。如果是https只能針對特定的ip禁止訪問,這個工作量大。抓包數據
分析完了,以下進入正題。
轉發tcp數據
轉發tcp分為本機轉發和其它機器轉發,本機轉發就是虛擬機本地轉發數據,其它機器轉發就是充當路由器時的轉發。為其它機器轉發
win7(172.21.9.8)===>ubuntu(172.21.9.222)==>vps(199.xx.xx.xx)==>home(123.112.xx.xx)
route add 123.112.xx.xx 172.21.9.222
ubuntu本地聯網
ubuntu(172.21.9.222)==>vps(199.180.xx.xx)==>home(123.112.xx.xx)
使用以下iptables命令執行:
sudo iptables -t nat -I OUTPUT -p tcp -d 123.112.xx.xx -j REDIRECT --to-ports 7777本地聯網與遠程聯網不同的區別在于:
使用iptables REDIRECT的位置不同,本的位于OUTPUT中,需要轉發的位于PREROUTING中。
轉發udp數據
外部udp訪問(其它機器通過這個機器進行udp訪問,win7(172.21.9.8)===>ubuntu(172.21.9.222)==>vps(199.180.xx.xx)==>home(123.112.xx.xx)
sudo ip rule add fwmark 0x01/0x01 table 100 sudo ip route add local 0.0.0.0/0 dev lo table 100 sudo iptables -t mangle -N SSUDP sudo iptables -t mangle -A SSUDP -p udp --dport 8000 -j TPROXY --on-port 7777 --tproxy-mark 0x01/0x01 sudo iptables -t mangle -A PREROUTING -j SSUDP本地udp無法轉發,原因未知:
https://blog.lilydjwg.me/2018/7/16/transparent-proxy-for-tcp-and-udp-with-iptables.213139.html
實際使用效果
把網關設置為所在的機器
在網關所在的機器運行以下命令,對所有數據進行轉發
也可以通過wireshark抓包,發現哪個或者哪段的ip被屏蔽,就哪個或段的ip添加進行:
sudo iptables -t nat -I PREROUTING -p tcp -d 123.151.0.0/16 -j REDIRECT --to-ports 7777 sudo iptables -t nat -I PREROUTING -p tcp -d 199.180.xx.xx -j REDIRECT --to-ports 7777參考:
http://ezlost.tk/2018/02/24/ss-redir/
https://lixingcong.github.io/2018/06/11/ss-redir-ipset/
總結
以上是生活随笔為你收集整理的如何解决内网中网络被限制的问题的全部內容,希望文章能夠幫你解決所遇到的問題。