ARM40-A5应用——使用holer访问内网的ARM40
ARM40部署提要:
(1)根据第一节(1)(2)(3)(4)(5),建立各个文件;
(2)根据自身环境选择第二节、第三节进行测试。
对于使用4G、3G、GPRS连接互联网的ARM40设备来说,移动运营商(例如中国移动公司)分配的IP地址为内网IP,访问公网IP时,先是要通过NAT,经过这一层的转换后,内网IP会被换成NAT的公网IP,并分配一个临时的端口。这能解决IP地址日益匮乏的问题,因为NAT的存在,可以使多台设备共用一个公网IP地址。但是同时造成了一个问题,因为NAT并没有为每个端口提供映射,而是要用时,临时分配一个,这就造成外网的IP想主动发起通信时就很麻烦。
holer 是一个内网穿透工具,基于holer,可以通过ssh,连接处于内网的ARM40设备。
##一、holer守护进程
(1)holer-linux-armv7 命令
拷贝 holer-linux-armv7 命令到ARM40-A5如下的位置:
/usr/bin/holer #重命名为holer
(2)要有网
ARM40要能上网,
如果是4G上网,详情见《ARM40-A5应用——4G模块EC20-CE拨号上网》;
如果是4G上网,详情见《ARM40-A5应用——GPRS模块ppp拨号上网》。
(3)上电自启动holer
上电自动打开holer守护进程,需要在/etc/ 文件中增加:
/etc/ppp/pon-EC20-auto.sh &
holer -k - -s 121.196.199.47 &
logintty=$(tty|grep -c "console")
if [ $logintty -eq 1 ]; then # ssh,telnet can't get into this line/etc/ppp/pon-EC20-auto.sh & #打开4G模块EC20holer -k HOLER_CLIENT-822404317F9D8ADD -s 121.196.199.47 & #打开hole
fi
其中的 holer -k - -s 121.196.199.47 & 可改为:
holer -k - &
但是需要在 /etc/hosts中增加记录
121.196.199.47
(4)增加用户名
#请自行设置密码,本例中密码设为
(5)在/etc/ssh/ 的最后一行增加:
注:
本文提供的Holer Key仅供测试使用,每天可以使用20分钟:
The trial holer key can only be used for 20 in 24 hours.
If you want to have holer visit ‘’ for more .
尊享版VIP holer服务请在另行购买 Holer Key 和外网地址(例如 :65534)
的下载地址:
二、在上访问ARM40
例如在阿里云上:
(1)先ping一下更放心 ping
(2)访问ARM40
root@von81:/# ssh -p 65534
’s : #本例输入登陆密码
root@ARM40:~# ls /home/test
可见,能够访问ARM40了。 按Ctrl+D键可退出登录。
三、在上访问ARM40
(1)使用
在中,设置:
输入登录密码后,即可访问ARM40,按Ctrl+D键可退出登录。
(2)使用
如果使用ssh客户端工具,输入如下命令就可以访问内网的ARM40设备了:
ssh -p 65534
或者在""-"SSH"中按下图填写,然后点击OK按钮。在输入ARM40的登录密码后,即可访问ARM40:
四、停止Holer服务
使用命令 holer,即可杀死holer进程,停止holer服务。
如果希望设备重启后不运行holer进程,在/etc/ 中删去 holer -k - -s 121.196.199.47 & 即可。
上述方式在ARM40本机,阿里云服务器端、、等登录环境中皆可执行。
常见问题:
1、网络不通
可能报如下错误:
Unable to connect holer server
Unable to connect holer server
可能报如下错误:
: to 121.196.199.47 port 65534: pipe
2、阿里云服务器上的报错
root@von81:/# ssh armholer@holer.org -p 65534
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:DNrvorgGollpHcl6bqmUXJI6G3cblAsP4yXypWoF+Z4.
Please contact your system administrator.
Add correct host key in /armholer/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /armholer/.ssh/known_hosts:4remove with:ssh-keygen -f "/armholer/.ssh/known_hosts" -R [holer.org]:65534
ECDSA host key for [holer.org]:65534 has changed and you have requested strict checking.
Host key verification failed.
root@von81:/#
执行:
root@von81:/# ssh-keygen -f "/armholer/.ssh/known_hosts" -R [holer.org]:65534
# Host [holer.org]:65534 found: line 4
/armholer/.ssh/known_hosts updated.
Original contents retained as /armholer/.ssh/known_hosts.old
再重新 ssh -p 65534 即可。
3、用于测试的HOLER KEY
如果有两个用户,都使用测试KEY,远程登录的时候只会有一个用户登录成功,另一个用户要等待,直到20分钟试用时间已过之后才能登录成功,holer的试用KEY被占用,后续的用户使用这个KEY会被退出来,并会有错误提示用户该端口已被使用。
4、/etc/ssh/
yes #是否允许 root 登入!预设是允许的,但是建议设定成 no ! 真实的生产环境服务器,一般是不允许root账号登陆的!!!
5、ssh -p 65534 时报错
ssh:: in name
ssh解析域名报错,需要在 /etc/hosts中增加记录121.196.199.47
6、防范入侵
(1)请妥为保管 HOLER KEY、外网地址(例如 :65534);
(2)请妥善设置 sshd 用户名和密码,不要使用易于破解的用户名和密码(例如 :);
(3)建议每台ARM40设置独立的 sshd 用户名和密码。
参考文章:
使用Holer从公网SSH访问内网的Linux系统
Holer一款局域网服务器代理到公网的内网穿透工具
What is holer
ARM40-A5应用——4G模块EC20-CE拨号上网
ARM40-A5应用——探测holer服务的状态
荟聚计划:共商 共建 共享 Grant