首先你需要开启ssh,开启方法
请看这里,以及
这里
开启ssh后,编辑/etc/samba/smb.conf.template
1
2
3
4
| [global]
netbios name = |NAME|
display charset = |CHARSET|
interfaces = |INTERFACES|eth0
|
往interfaces中后面添加eth0
- 注意不能直接修改
smb.conf
,因为重启smb服务后会被自动修改。 - 为什么是
eth0
呢?你可以通过ip a
查看哪个是你的WAN口
1
2
3
| 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether - brd ff:ff:ff:ff:ff:ff
inet 192.168.31.26/2
|
接着重启samba
1
| /etc/init.d/samba restart
|
查看是否监听成功
1
| netstat -tapn | grep smbd
|
参考:
https://www.juyimeng.com/how-to-access-file-from-mi-wifi-wan.html
编辑/etc/config/firewall
文件,在文件最后添加以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
| config rule 'samba_udp'
option src 'wan'
option dest_port '137 138'
option proto 'udp'
option target 'ACCEPT'
option name 'samba_incoming_udp'
config rule 'samba_tcp'
option src 'wan'
option dest_port '139 445'
option proto 'tcp'
option target 'ACCEPT'
option name 'samba_incoming_tcp'
|
执行/etc/init.d/firewall reload
命令重新加载防火墙配置即可。
- 注:对于小米路由器中docker开启的服务,如果发现二级路由无法访问,都是因为防火墙的问题,例如docker开启了alist服务,默认端口为5244,那么只需要在防火墙中添加以下内容后重启防火墙即可
1
2
3
4
5
6
| config rule 'alist_tcp'
option src 'wan'
option dest_port '5244'
option proto 'tcp'
option target 'ACCEPT'
option name 'alist_incoming_tcp'
|
电脑文件管理地址栏输入 \\路由器WAN口ip
即可
由于小米路由器重启后会自动还原samba配置,因此我们需要添加开机自启脚本。
index.zh-cn
往startup_script()里面添加两行即可。
1
2
| sed -i 's/|INTERFACES|/ð0/g' /etc/samba/smb.conf.template
(sleep 20; /etc/init.d/samba restart) &
|
这里使用了(sleep 20; xx ) &
来实现延迟重启服务。重启路由器后,查看监听状态
1
| netstat -anpt | grep 445
|
看到你的WAN口监听了445表明成功了