欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 566|回復: 0
打印 上一主題 下一主題
收起左側

在Debian12將隨身4G棒NAT轉有線網絡,支持ipv4和ipv6

[復制鏈接]
跳轉到指定樓層
樓主
背景
    在新的公司控制比較嚴格,連接公司的局域網很多站都上不了,對于程序開發有很多不方便的地方,有必要搭建自己的個人私有網絡。下圖是網絡的組成:
4G棒
    4G棒需要支持usb網卡功能,插到Debian工控機可以自動生成usb網卡。有些4G棒帶wifi功能,可以通過wifi連接,這里不推薦直接用4g棒的wifi,因為wifi功能比較弱,網絡穩定性不如專業wifi路由器。現在4G棒支持ipv4和ipv6
工控機
    這里用的工控機是Debian系統,Debian系統支持apt安裝各種網絡工具,系統比較穩定,適合長期不斷電運行。要求工控機至少帶一個有線RJ45網口,方便將usb網卡nat轉有線網卡。
wifi路由器
    普通路由器即可,但是為了支持ipv6,要選擇帶ipv6功能的路由器。一般商業路由器帶一個WAN口和若干LAN口,其中WAN口連接工控機的網口,進行靜態ip上網。
實施方法
1、工控機通過4B棒上網
    將4G棒插入到工控機的USB口,用ifconfig命令查看當前的USB網卡。
    可以看到4G棒已經通過生成usb0網卡,并且分配了ipv4和ipv6,工控機具備連接外網的能力。
2.usb0通過NAT轉有線網卡enP3p49s0
    有線網卡需要具備dhcp服務器功能,既要支持ipv4又要支持ipv6,需要安裝兩個工具dnsmasq和radvd,執行sudo apt install dnsmasq radvd,然后修改/etc/dnsmasq.conf,添加內容如下:
  1. # 監聽接口
  2. interface=enP3p49s0
  3. no-dhcp-interface=lo,usb0,enP4p65s0,wlP2p33s0

  4. # IPv4 DHCP
  5. dhcp-range=192.168.123.100,192.168.123.200,24h
  6. dhcp-option=option:router,192.168.123.1
  7. dhcp-option=option:dns-server,192.168.123.1

  8. # IPv6 - 禁用DHCPv6,讓RADVD處理SLAAC
  9. # dhcp-range=fd00::100,fd00::200,64,24h

  10. # DNS設置
  11. server=8.8.8.8
  12. server=2001:4860:4860::8888
  13. cache-size=1000
復制代碼
然后編輯/etc/radvd.conf,添加內容如下:
  1. interface enP3p49s0
  2. {
  3.     AdvSendAdvert on;
  4.     AdvManagedFlag off;
  5.     AdvOtherConfigFlag on;
  6.    
  7.     # 路由通告間隔
  8.     MinRtrAdvInterval 3;
  9.     MaxRtrAdvInterval 10;
  10.    
  11.     # 前綴配置
  12.     prefix fd00::/64
  13.     {
  14.         AdvOnLink on;
  15.         AdvAutonomous on;
  16.         AdvRouterAddr off;
  17.     };
  18.    
  19.     # DNS服務器配置(不使用棄用的preference參數)
  20.     RDNSS fd00::1
  21.     {
  22.         # 移除棄用的AdvRDNSSPreference參數
  23.     };
  24. };
復制代碼
然后需要設置debian支持usb0到enP3p49s0的ipv4和ipv6轉發功能,腳本如下:
  1. #!/bin/bash
  2. echo "========== usb0共享ipv4和ipv6到網卡enP3p49s0配置 =========="
  3. echo "清除所有 IPv4/IPv6 地址:"
  4. sudo ip addr flush dev enP3p49s0 &&
  5. sleep 2s
  6. echo "關閉 enP3p49s0 網卡"
  7. sudo ip link set enP3p49s0 down &&
  8. sleep 2s
  9. echo "設置ipv4地址"
  10. sudo ip addr add 192.168.123.1/24 broadcast 192.168.123.255 dev enP3p49s0 &&
  11. sleep 2s
  12. echo "設置ipv6地址"
  13. sudo ip -6 addr add fd00::1/64 dev enP3p49s0 &&
  14. sleep 2s
  15. sudo ip -6 addr add fe80::c0:74ff:fe2b:ff1b/64 dev enP3p49s0 &&
  16. sleep 2s
  17. echo "查看網卡"
  18. ip addr show enP3p49s0 &&
  19. sleep 1s
  20. echo "啟動網卡"
  21. sudo ip link set enP3p49s0 up &&
  22. sleep 4s
  23. echo "添加ipv4轉發"
  24. sudo iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE &&
  25. sleep 1s
  26. sudo iptables -A FORWARD -i enP3p49s0 -o usb0 -j ACCEPT &&
  27. sleep 1s
  28. sudo iptables -A FORWARD -i usb0 -o enP3p49s0 -m state --state RELATED,ESTABLISHED -j ACCEPT &&
  29. sleep 1s
  30. sudo iptables-save | sudo tee /etc/iptables/rules.v4 &&
  31. sleep 1s
  32. echo "添加ipv6轉發"
  33. sudo ip6tables -t nat -A POSTROUTING -o usb0 -j MASQUERADE &&
  34. sleep 1s
  35. sudo ip6tables -A FORWARD -i enP3p49s0 -o usb0 -j ACCEPT &&
  36. sudo ip6tables -A FORWARD -i usb0 -o enP3p49s0 -m state --state RELATED,ESTABLISHED -j ACCEPT &&
  37. sleep 1s
  38. sudo ip6tables -A INPUT -p icmpv6 -j ACCEPT &&
  39. sleep 1s
  40. sudo ip6tables -A FORWARD -p icmpv6 -j ACCEPT &&
  41. sleep 1s
  42. sudo ip6tables -A INPUT -p udp --dport 546 -j ACCEPT &&
  43. sleep 1s
  44. sudo ip6tables -A INPUT -p udp --dport 547 -j ACCEPT &&
  45. sleep 1s
  46. sudo ip6tables-save | sudo tee /etc/iptables/rules.v6 &&
  47. sleep 1s
  48. echo "重啟dnsmasq服務"
  49. sudo systemctl restart dnsmasq &&
  50. sleep 2s
  51. echo "重啟radvd服務"
  52. sudo systemctl restart radvd &&

  53. sleep 10s

  54. echo "========== 網絡診斷 =========="
  55. echo ""
  56. echo "1. 接口狀態:"
  57. ip addr show enP3p49s0
  58. echo ""
  59. ip addr show usb0
  60. echo ""

  61. echo "2. IPv6路由:"
  62. ip -6 route
  63. echo ""

  64. echo "3. IPv6轉發狀態:"
  65. sysctl net.ipv6.conf.all.forwarding net.ipv6.conf.default.forwarding net.ipv6.conf.enP3p49s0.forwarding net.ipv6.conf.usb0.forwarding
  66. echo ""

  67. echo "4. 服務狀態:"
  68. systemctl status radvd --no-pager | head -20
  69. echo ""
  70. systemctl status dnsmasq --no-pager | head -20
  71. echo ""

  72. echo "5. 防火墻規則:"
  73. sudo ip6tables -L -vn
  74. echo ""
  75. sudo ip6tables -t nat -L -vn
  76. echo ""

  77. echo "6. 測試連通性:"
  78. echo "從主機ping外部IPv6:"
  79. ping6 -c 2 2001:4860:4860::8888
  80. echo ""
  81. echo "從enP3p49s0 ping自己:"
  82. ping6 -I enP3p49s0 -c 2 fd00::1
復制代碼
執行一下腳本,即可進行網絡nat轉換。

可以看到有線網卡enP3p49s0已經有ipv4和ipv6。
設置wif路由器
這里用小米路由器AX1500,將小米路由器的WAN口和工控機有線網口連接,讓工控機給小米路由器分配ipv4和ipv6,登陸小米路由器web上網設置頁面,設置如下:
                                 
設置完成后,等待路由器連接到有線網絡,直到出現ipv4地址和ipv6地址,說明網絡連接成功。

測試ipv6連接
游客,本帖隱藏的內容需要積分高于 1 才可瀏覽,您當前積分為 0

出現以下測試結果說明ipv6已經支持

打開中國科學技術大學測速網站:https://test6.ustc.edu.cn/

運營商之間ipv6速度問題
    雖然三大運營商都是支持ipv6,但是存在跨運營商限制速問題。如果打算用ipv6連接家里的網絡和自搭建公司個人網絡互通,最好是用同一家運營商,這樣不存在速度問題,基本都能拉滿。家里面用的是聯通光纖送了動態公網ipv6,通過軟路由PPPOE撥號上網,用DDNS-Go進行動態域名解析到ipv6地址。
debian工控機的其他用途
    除了上述nat轉換功能,還可以用工控機來做其他事情,下面列舉幾個
1.網絡協議和數據分析:由于所有網絡都是經過工控機nat轉換,所有網絡請求都是經過工控機,安裝wireshark后,可以用來抓所有的網絡包;
2.工程代碼托管:,比如安裝gitea后,就可以像github那樣來托管代碼;
3.個人博客托管:,比如安裝typecho后,可以在后端編輯文章,記錄自己的技術分享;
4.代碼測試:linux系統有很多工具,很方便安裝各種軟件庫,然后再借助vscode的remote開發,隨時連接到服務器進行代碼學習開發驗證;
5.資料備份:不像收費的云服務器實例有容量限制,個人服務器自己加裝固態硬盤,可以把使用頻率低的問題拷貝到服務器備份。

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表