折騰前言:
前兩天一直在折騰openwrt單臂軟路由的設定,家裡時不時斷網,很是心煩。折騰過程中發現openwrt外掛雖多,但是玩的明明白白,還是差點事,比如那個防火牆,就時不時抽風。於是拿出了家裡的小古董k2p,刷上最新的老毛子韌體,直接起飛,移動千兆,絲毫不虛,防火牆規則能即時生效,內網裝置,一條命令,直接動態域名解析。ipv6下,該有的功能都有,直接把它升級為主路由。
硬體準備:
主路由:k2p 版本K2P_V5 3。4。3。9-099_21-10-8 (2021-10-25)
ap:ax6000
寬頻:中國移動
光貓做過橋接
軟體準備:
putty64(windows)或finall shell(mac)
其他:
阿里購入域名一枚
路由器撥號設定:
正常的填入使用者名稱密碼
ipv6設定如下
這樣設定下來類似於openwrt的dhcp-pd。意味著運營商給我們下發字首,後面的地址是裝置自己生成的。
路由器動態域名設定
雖然不知道是什麼時候加入的,這動態域名太方便了,雙協議對映,第三個是ipv6,前兩個我就不寫了,移動的公網,大家懂的。
域名相關的阿里apikey的獲取,在之前的教程中寫過,大家可以直接翻看。
將獲取到的api和key輸入進去,直接應用
需要注意的地方是,需要修改指令碼檔案下的一個引數,因為wan口ipv6的下發速度超級慢,lan口聯網即可下發,這裡修改指令碼檔案中的獲取資訊,將wan口改為lan口,折騰了快一個小時,還以為自己的ipv6獲取方式不對,簡直太坑了。
找到這樣一段
ifconfig $(nvram get wan0_ifname_t) | awk ‘/Global/{print $3}’ | awk -F/ ‘{print $1}’
修改為
ifconfig $(nvram get lan0_ifname_t) | awk ‘/Global/{print $3}’ | awk -F/ ‘{print $1}’
#wan口和lan口的地址效果是一樣的,因為都是公網地址,這裡使用起來不像ipv4下,分公網和內網,全球一張網,那就是ipv6,所以,直接獲取lan口。
輸入完成後,看系統日誌,更新很快,更新完基本解析就能用。
到這一步,動態域名與ip的轉換就打通了,剩下的就是埠的開啟,我是被這個防火牆折騰的死去活來的。
防火牆設定
我們設定完成後,先來測試路由器是否能透過訪問,這裡需要開啟兩個地方,第一個是透過網際網路訪問,第二個是透過內網訪問,將這兩個埠都改為80埠後,直接開啟網址,就可以直接訪問路由器的管理介面,需要切換埠的朋友注意,這兩個埠號要保持一致,還要在防火牆上開啟對應的埠,因為除了80埠,防火牆自動新增規則外,其他埠,防火牆都不會自動開啟。
需要開啟路由器的ssh,這樣,可以輸入命令不正確的話,可以看到報錯
例子:開啟路由器80埠
ip6tables -I INPUT -p tcp ——dport 80 -j ACCEPT
動態域名直接對映內網裝置
在老毛子裡面這個可以說超級簡單,直接就可以將動態域名對映到內網裝置,只需要一條命令,再也不用什麼socat轉發。享受直連的快樂,只需要內網裝置的mac地址。
開啟ali動態域名,檢視純shell下的命令,如果比如你的mac地址是0000000001,這裡我用mac地址為0000000001的裝置做演示,命令是這樣寫的
為了節省域名,這裡直接用二級域名的形式進行解析
dn@xxxxx。cn@00000000A1@@fe80::@
這樣,裝置一獲得地址,就會直接被動態域名對映。
引數說明:使用 @ 符號分割,①字首名稱 ②域名 ③MAC【不限大小寫】④匹配關鍵詞的ip6地址【可留空】 ⑤排除關鍵詞的ip6地址【可留空】 ⑥手動指定ip【可留空】
各項引數使用@隔開,二級域名,
比如我的域名是dn。xxxxx。cn
需要指向的內網裝置mac地址為00000000A1,第四段匹配關鍵詞忽略,第五段填寫fe80::(忽略掉內網ipv6地址),第六段忽略不寫。
開啟防火牆指定埠
這時候大家根據需求開啟防火牆的對應埠,比如需要開啟電腦的遠端控制埠,我們直接在ssh終端中輸入
ip6tables -I INPUT -p tcp ——dport 3389 -j ACCEPT
#開啟防火牆的3389埠
ip6tables -I FORWARD -p tcp ——dport 3389 -j ACCEPT
#開放3389埠轉發,能將3389的資料轉發到內網。可以理解為開啟內網裝置的3389埠
什麼,你想開啟指定地址的指定埠轉發,放心,踩了這麼多坑,當然也找到方法了
ip6tables -I FORWARD -d ::1111:1111:1111:1111/::FFFF:FFFF:FFFF:FFFF -p tcp ——dport 3389 -j ACCEPT
這樣的話會匹配字尾為1111:1111:1111:1111的內網裝置,為它開啟3389埠
這樣的話,訪問域名直接可以實現遠端控制
如果內網有nas的話,大家也可以直接部署相關域名,我這邊沒封80埠,將nas部署到公網下的話,不用埠號,輸入域名直接就可以訪問。
(現挖個坑,準備折騰pve安裝黑群暉,現在手裡還沒有nas)
路由器防火牆設定
需要注意的是,重啟後,防火牆會重置,我們需要將命令,寫入啟動檔案。
在防火牆啟動後啟用
折騰總結:
用朋友的話說,大家的教程基本都是挖坑不管填坑。難點在與動態域名對映後的防火牆規則方面,openwrt現在恩山的大神做的有的直接帶socat轉發。但是ipv6的支援,還是不是很方便,希望這篇文章能給大家動態域名對映的時候提供一個思路。
感覺文章寫的不錯的朋友請關注,點贊,支援,轉發一下