山东专业网站seo,查看网站外链,公司网站建设合同交印花税吗,济南网站建设成之运维文章目录 前言一、开启SSH二、配置阿里云ddns1.准备工作2.创建ddns脚本3.添加定时任务 三、开启外网访问SSH和WEB管理界面1、解除WEB管理页面访问限制2.手动添加防火墙端口转发规则#xff0c;开启外网访问WEB管理和SSH 前言
例如#xff1a;随着人工智能的不断发展#xf… 文章目录 前言一、开启SSH二、配置阿里云ddns1.准备工作2.创建ddns脚本3.添加定时任务 三、开启外网访问SSH和WEB管理界面1、解除WEB管理页面访问限制2.手动添加防火墙端口转发规则开启外网访问WEB管理和SSH 前言
例如随着人工智能的不断发展机器学习这门技术也越来越重要很多人都开启了学习机器学习本文就介绍了机器学习的基础内容。 提示以下是本篇文章正文内容下面案例可供参考
一、开启SSH
这里使用的是github上的开源项目XMiR-Patcher实现。 https://github.com/openwrt-xiaomi/xmir-patcher
下载项目到本地。 然后运行以下命令需要注意的是linux或mac需要安装python3.8和openssl
Windows Run run.batLinux / Mac OS Install python 3.8, openssl Run run.sh
运行并输入ip和密码 先输入路由器ip-》回车-》输入2-》数据路由器密码
成功后ssh的账号密码都为root
Xiaomi MiR Patcher1 - Set IP-address (current value: 192.168.31.1)2 - Connect to device (install exploit)3 - Read full device info4 - Create full backup5 - Install EN/RU languages6 - Install Breed bootloader7 - Install firmware (from directory firmware)8 - {{{ Other functions }}}9 - [[ Reboot device ]]0 - ExitSelect: 192.168.31.1 #输入自己的路由器ipXiaomi MiR Patcher1 - Set IP-address (current value: 192.168.31.1)2 - Connect to device (install exploit)3 - Read full device info4 - Create full backup5 - Install EN/RU languages6 - Install Breed bootloader7 - Install firmware (from directory firmware)8 - {{{ Other functions }}}9 - [[ Reboot device ]]0 - ExitSelect: 2 # 选择2 然后根据提示输入密码
二、配置阿里云ddns
小米路由器本身自带了ddns但是局限性比较高只能用以下4种。 1.准备工作
如何想使用自己的域名需要上阿里云购买一个域名。 注册AccessKey 首先登录个人的阿里云账号我的是RAM账户。各位的可以使用主账户进行使用AccessKey。 点击ACCESSKEY管理 创建你的AccessKey,并记录下来。 注意如果是RAM的话一定要添加AliyunDNSFullAccess授权策略
2.创建ddns脚本
aliyun_ddns.sh
#!/bin/sh
set -e##
# 功能用于更新阿里云域名IP实现DDNS功能
#
# 在 http://www.gebi1.com/forum.php?modviewthreadtid287344page1_dsign8f94f74c 提供的脚本文件基础上修改的。
# ghui, modified 12/2/2019
# 在 N1 debian Buster with Armbian Linux 5.3.0-aml-g12 手动执行/定时任务(crontab)执行测试通过
##
#
# 使用方法
#
# 方法1. 外部参数
# 修改源码将对应参数 修改为$1,$2,$3,$4,$5,$6
# aliddns.sh aliddns_ak aliddns_sk aliddns_subdomain aliddns_domain aliddns_iptype aliddns_ttl
# 示例A 代表 IPv4AAAA 代表 IPv6:
# 执行aliddns.sh xxxx xxx test mydomain.site A 600
# 执行aliddns.sh xxxx xxx test mydomain.site AAAA 600
#
# 方法2. 内部参数
# 修改源码将$1,$2,$3,$4,$5,$6 替换为对应参数
#
# 示例:
# aliddns_akaliddns_ak
# aliddns_skaliddns_sk
# aliddns_subdomainaliddns_subdomain
# aliddns_domainaliddns_domain
# aliddns_iptypealiddns_iptype
# aliddns_ttlaliddns_ttl
# 执行aliddns.sh
#
###--------------------------------------------------------------
# 参数
#
# (*)阿里云 AccessKeyId
aliddns_ak阿里云 AccessKeyId
# (*)阿里云 AccessKeySecret
aliddns_sk阿里云 AccessKeySecret # (*)域名test.mydomain.com
aliddns_subdomaintest.mydomain.com #test
aliddns_domainmydomain.com.cn #mydomain.com# (*)ip地址类型A 或 AAAA代表ipv4 和 ipv6
aliddns_iptypeA # A 或 AAAA代表ipv4 和 ipv6# TTL 默认10分钟 600秒
aliddns_ttl600 #600#--------------------------------------------------------------machine_ip
ddns_ip
aliddns_record_idif [ $aliddns_subdomain ]
thenaliddns_name$aliddns_domain
elsealiddns_name$aliddns_subdomain.$aliddns_domain
finowdate
echo **************************************************
echo $now
echo $aliddns_namefunction getMachine_IPv4() { echo $(/usr/bin/wget -qO- -t1 -T2 http://ip.3322.net)
}function getMachine_IPv6() { ipv6ip addr | grep inet6.*global | grep -v deprecated | awk {print $2} | awk -F/ {print $1} | sed -n 1,1pecho $ipv6
}function getDDNS_IP() { current_ipnslookup -query$aliddns_iptype $aliddns_name | grep Address | grep -v #53 | awk {print $2}echo $current_ip
}function urlencode() { # urlencode stringoutwhile read -n1 cdocase $c in[a-zA-Z0-9._-]) out$out$c ;;*) out$outprintf %%%02X $c ;;esacdoneecho -n $out
}function enc() { echo -n $1 | urlencode
}function send_request() { local argsAccessKeyId$aliddns_akAction$1Formatjson$2Version2015-01-09local hash$(echo -n GET%2F$(enc $args) | openssl dgst -sha1 -hmac $aliddns_sk -binary | openssl base64)curl -s http://alidns.aliyuncs.com/?$argsSignature$(enc $hash)
}function get_recordid() { grep -Eo RecordId:[0-9] | cut -d: -f2 | tr -d
}function query_recordid() { send_request DescribeSubDomainRecords SignatureMethodHMAC-SHA1SignatureNonce$timestampSignatureVersion1.0SubDomain$aliddns_nameTimestamp$timestampType$aliddns_iptype
}function update_record() { send_request UpdateDomainRecord RR$aliddns_subdomainRecordId$1SignatureMethodHMAC-SHA1SignatureNonce$timestampSignatureVersion1.0TTL$aliddns_ttlTimestamp$timestampType$aliddns_iptypeValue$(enc $machine_ip)
}function add_record() { send_request AddDomainRecordDomainName$aliddns_domain RR$aliddns_subdomainSignatureMethodHMAC-SHA1SignatureNonce$timestampSignatureVersion1.0TTL$aliddns_ttlTimestamp$timestampType$aliddns_iptypeValue$(enc $machine_ip)
}if [ $aliddns_iptype A ]
thenecho ddns is IPv4.machine_ipecho $(getMachine_IPv4)echo machine_ip $machine_ipaliddns_record_id$aliddnsipv4_record_id
elseecho ddns is IPv6.machine_ipecho $(getMachine_IPv6)echo machine_ip $machine_ipaliddns_record_id$aliddnsipv6_record_id
fiddns_ipecho $(getDDNS_IP)
echo ddns_ip $ddns_ipif [ $machine_ip ]
thenecho machine_ip is empty!exit 0
fiif [ $machine_ip $ddns_ip ]
thenecho skipping\nexit 1
fiecho start update...timestampdate -u %Y-%m-%dT%H%%3A%M%%3A%SZif [ $aliddns_record_id ]
thenaliddns_record_idquery_recordid | get_recordidecho ---------------- $aliddns_record_id \nif [ $aliddns_iptype A ]thenaliddnsipv4_record_id$aliddns_record_idelsealiddnsipv6_record_id$aliddns_record_idfi
fi#add support */%2A and /%40 record
if [ $aliddns_record_id ]
thenecho add record startingaliddns_record_idadd_record | get_recordidif [ $aliddns_record_id ]thenecho aliddns_record_id is empty. \nelseif [ $aliddns_iptype A ]thenaliddnsipv4_record_id$aliddns_record_idelsealiddnsipv6_record_id$aliddns_record_idfiecho added record $aliddns_record_id \nfi
elseecho update record startingupdate_record $aliddns_record_idecho updated record $aliddns_record_id \n
fi该脚本来自https://cloud.tencent.com/developer/article/2093275 将脚本放到/data/scripts/下命名为aliyun_ddns.sh
可以使用命令运行脚本测试是否可行
/data/scripts/aliyun_ddns.sh3.添加定时任务
添加定时任务每20分钟执行一次脚本
echo */20 * * * * /data/scripts/aliyun_ddns.sh /etc/crontabs/root
/etc/init.d/cron restart三、开启外网访问SSH和WEB管理界面
由于小米路由为了安全考虑对WEB与防火墙规则进行限制WEB管理、SSH只能通过内网登 陆外网无法访问在路由器的WEB管理页面新建端口转发中不能添加路由本机内网IP。 开启小米路由的SSH后我们可以通过登陆SSH在命令行中手动添加防火墙中端口转发规则
1、解除WEB管理页面访问限制
cd /etc/nginx //切换目录cp miwifi-webinitrd.conf miwifi-webinitrd.conf.bak //养成备份好习惯:vi miwifi-webinitrd.conf //编辑miwifi-webinitrd.conf
动光标找到 set $finalvar $canproxy $isluci;
在图中位置插入下面代码按i键进入编辑模式
set $isluci 1;完成后按ESC退出编辑Shift ;键 输入wq 回车保存并退出 重启httpd服务使配置生效
/etc/init.d/sysapihttpd restart如果是老版本位置在/etc/sysapihttpd/
2.手动添加防火墙端口转发规则开启外网访问WEB管理和SSH
vi /etc/config/firewall //编辑防火墙配置1.添加WEB管理外网端口转发规则代码段
config redirect MIWEB option src wan option src_dport 1314 option name WEB option ftype 1 option dest_port 80 option proto tcp WEB管理界面外网端口为1314 可通过外网IP:1314访问 (例 http://61.181.133.5:1314),绑定DDNS的用户可通过域名:1314进行访问。
2.添加SSH外网登陆端口转发规则代码段
config redirect Myssh option src wan option src_dport 2345 option dest lan option dest_port 22 option proto tcp SSH登陆外网端口为2345
添加对应规则后保存退出
重启防火墙使规则生效
/etc/init.d/firewall restart现在就可以通过外网WEB管理设置小米路由和进行SSH登陆了.