日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何解决内网中网络被限制的问题

發布時間:2024/9/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何解决内网中网络被限制的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源: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)

  • winu使用添加到home(123.112.xx.xx)的路由,就是到123.112.xx.xx的線路從172.21.9.222走
  • route add 123.112.xx.xx 172.21.9.222

  • ubuntu(172.21.9.222)上執行轉發,并添加iptabes命令redirect:
  • sudo iptables -t nat -A POSTROUTING -j MASQUERADE sudo iptables -t nat -I PREROUTING -p tcp -d 123.112.xx.xx -j REDIRECT --to-ports 7777
  • ubuntu 要運行ss-redir:
  • sudo ss-redir -v -u -s '199.180.xx.xx' -p '58123' -m 'aes-256-cfb' -k 'xxxxxxx' -b '0.0.0.0' -l '7777' 或者 sudo ss-redir -c /etc/shadowsocks-libev/config.json -v -u
  • 在windows下執行以下命令,連接已從遠方vps(199.180.xx.xx)轉發:
  • ssh xy@123.112.xx.xx

    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

    實際使用效果

  • 把網關設置為所在的機器

  • 在網關所在的機器運行以下命令,對所有數據進行轉發

  • sudo iptables -t nat -I PREROUTING -p tcp -j REDIRECT --to-ports 7777

    也可以通過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/

    總結

    以上是生活随笔為你收集整理的如何解决内网中网络被限制的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。