在 OpenWRT 開啟 wan 網卡上的 sshd

分類:

Intro

心血來潮想要開始搞一下之前購入的一台 NanoPi R5S,系統裝的是基於 OpenWRT 重包過的 FriendlyWRT,但發現網路線插在 wan 網卡上之後,透過 ssh 怎樣也連不進去,用 nmap 也掃不到開啟的 22 port,只好拿了條 HDMI 線插螢幕輸出,看一下是怎麼回事

Steps

  1. 登入 account

買來之後還真的很少玩過,試了自己幾組的 account password ,登不進去 … =”=,最後發現 root 密碼根本沒改過 … ,default 是 root/password,記得再用 passwd 改掉

2. sshd

用 service | grep ssh 也沒看到任何輸出,覺得相當奇怪 …,於是翻了下文件,原來,是使用 dropbear 這個套件來管理 ssh daemon ,而不是多數常見的 openssh-server

root@FriendlyWrt:/# service | grep dropbear
/etc/init.d/dropbear enabled running

root@FriendlyWrt:/# uci show dropbear
dropbear.@dropbear[0]=dropbear
dropbear.@dropbear[0].PasswordAuth='on'
dropbear.@dropbear[0].RootPasswordAuth='on'
dropbear.@dropbear[0].Port='22'

水落石出,config 檔都放在 /etc/config/dropbear

既然 service 沒問題,再來就是 ACL/firewall 的問題了吧

3. iptables

稍微研究下,發現如果要從 wan 直接 ssh 進去,需要在 iptables 下新增一條 rule,也就是新增下方 rule 到 /etc/config/firewall 這個檔案(當然也還是需要注意個人網路環境是否適用,以免被 try)

config rule
        option name 'Allow-SSH-from-wan-with-192-168-0-0/24'
        option src 'wan'
        option src_ip '192.168.0.1/24'
        option dest_port '22'
        option target 'ACCEPT'
        option proto 'tcp'

最後 service restart firewall ,大功告成


留言

發表迴響