微信关注,获取更多

OpenWrt网络配置:路由器命令行改源与安全设置

管理路由器

默认管理OpenWRT18.06.0的方式是运用ssh,方法为:ssh root@。依据路由器FLASH大小,较小的FLASH默认不存在WEB GUI界面,就像我所使用的这台。幸好多数情形下运用命令行配置路由器效率更高,并且有些工作借助GUI界面无法达成。OpenWRT的默认账户用户名是root,并无密码,正常状况下首次登陆会要求你修改密码。在一个连接公网的环境里,请尽早登陆修改密码。

配置镜像源

要是你在不借助FQ的情形下,能够对官方的源服务器进行访问,那么请将这一节内容予以跳过。

用于管理扩展包之 OpenWRT,借助 opkg 工具。鉴于前文所述缘由,需对镜像源予以配置,以此确保所需软件包得以安装。于其间遭遇一个小麻烦,乃是国外镜像服务器,大多运用了 https 协议,OpenWRT 无法直接予以支持。国内镜像多数为 http 协议,然而镜像中缺乏一些驱动包,致使无法驱动 U 盘。故而倘若寻觅不到更佳的完整源,只好将变更源这一微小之事,拆分为两步来施行。opkg的源配置文件路径是:/etc/opkg/distfeeds.conf,最先做一回备份,接着你能够运用你所喜爱的编辑工具去修改,我向来都是用vi。将distfeeds.conf文件的内容更改成:

src/gz openwrt_core http://openwrt.proxy.ustclug.org/releases/18.06.0/targets/ar71xx/generic/packages
src/gz openwrt_kmods https://downloads.lede-project.urown.net/snapshots/targets/ar71xx/generic/kmods/4.9.117-1-e017c397f3c6ba06dc921b136a63fb36
src/gz openwrt_base http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/base
src/gz openwrt_luci http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/luci
src/gz openwrt_packages http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/packages
src/gz openwrt_routing http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/routing
src/gz openwrt_telephony http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/telephony

这里面使用了两个源,分别是:http://openwrt.proxy.ustclug.org和https://downloads.lede-project.urown.net。 接着在OpenWRT命令使用opkg update命令,只要网络没有问题,可以完成源目录包的更新,当然在https的那个源会报错,先不用管。

正常的情形之下,每当开展包安装事宜之前开展一回opkg update便足矣,此乃将软件源里的全部目录索引下载至本地。路由器处于关机状态,又或者云端的源内容出现了变动才需再度执行。

随后安装https协议所需的软件包:

opkg install libustream-openssl  ca-bundle ca-certificates 

紧接开始再次实施opkg update操作,于此次期间,理应达成所有源均可获取到目录包之状况。设若你持有更为优质的http源,那么配置https访问这一环节能够予以省略。

到这个时候,opkg包管理工具算是配置好了,完成了。要是喜欢使用GUI界面,在这个时候能够使用下面这个命令去安装:

opkg update
opkg install luci

安装U盘并设置自动加载

倘若仅仅是当作私有云盘来运用,那么U盘的格式能够任意选取。然而要是计划用作git仓库,以及用来填补路由器那匮乏的FLASH存储,那就必定得采用Linux专有格式,像EXT4这种。故而准备用于路由器上的U盘,你得预先做好备份,原因在于后续的安装会对U盘重新进行格式化操作。首先要做的是安装加载U盘所需的各类驱动以及相关支持工具。

#假设你已经做过opkg udpate
opkg install block-mount e2fsprogs kmod-fs-ext4 kmod-usb3 kmod-usb2 kmod-usb-storage 

随后使用ext4格式,重新初始化U盘:

#注意这一步会清掉U盘上现有的所有内容
mkfs.ext4 /dev/sda1

接着将U盘设置为路由器启动后自动加载:

block detect > /etc/config/fstab 
uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].check_fs='1' && uci commit 
/sbin/block mount && service fstab enable

可以于此时运用mount命令去查看U盘是不是成功加载了(不用重启),要是输出信息里,一般是在最后一行,要是有像下面这样的信息那就表明U盘加载成功了:

/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime,data=ordered)

在我进行实验之际,存在一个U盘,无论采用何种方式,都不可能自动加载成功,推测这与U盘型号、具体硬件以及OpenWRT版本的支持存在着关联。不去深入探究其原因了,当遇到这种情形时,能够运用启动脚本的方式予以解决,首先执行一回mkdir /mnt/sda1,接着在/etc/rc.local文件的最后一行增添:

mount /dev/sda1 /mnt/sda1

以后重启将会自动加载U盘。

安装git工具包

对于新款路由器而言,这一步着实并非难事,仅需藉由opkg以一条命令便可完成:

opkg install git

我说的这款已使用已久,名为老路由器的设备,面对了一个堪称大麻烦的状况,原因在于,被称作WND3700的这款路由器,其FLASH仅有4M,这类似于硬盘的存储空间。然而,git软件包经压缩后大小为4.3M,完全无法容纳。就在此刻,刚刚安装的,格式为EXT4的U盘发挥了作用,我运用手工安装的方式,将git安装至U盘上,如此一来,无论多大的软件包都不再是问题。首先,要进行下载git软件包的操作:。

cd /mnt/sda1/
wget http://openwrt.proxy.ustclug.org/releases/18.06.0/packages/mips_24kc/packages/git_2.16.3-1_mips_24kc.ipk

注意,下载路径,是跟你所使用的路由器版本,存在关联的,好比上面的那个下载地址,所表示的是,OpernWRT18.06.0版本,它跑在mips_24kc的芯片之上。依据这些信息,你需要去寻找,自身路由器能够使用的软件包,通常情况下,这件事情,是由opkg来帮你完成的。下载结束之后,通过手工方式进行解压,进而取出文件。

tar xzvf git_2.16.3-1_mips_24kc.ipk
#上面的解压完成通常会出来3个文件,我们只使用其中的data.tar.gz文件。
mkdir ipks
cd ipks
tar xzvf ../data.tar.gz
cd ..
# 删除3个解压出的临时文件
rm control.tar.gz data.tar.gz  debian-binary

/MNT/SDA1/IPKS/USR这个路径下保存着所有的文件,我们要运行的话,还得通过手工来完成安装才行。

ln -s /mnt/sda1/ipks/usr/bin/git /usr/bin/
ln -s /mnt/sda1/ipks/usr/bin/git-receive-pack /usr/bin/
ln -s /mnt/sda1/ipks/usr/bin/git-upload-archive /usr/bin/
ln -s /mnt/sda1/ipks/usr/bin/git-shell /usr/bin/
ln -s /mnt/sda1/ipks/usr/bin/git-upload-pack /usr/bin/
ln -s /mnt/sda1/ipks/usr/lib/git-core/ /usr/lib/
ln -s /mnt/sda1/ipks/usr/share/git-core/ /usr/share/

此时git已经可以使用了。接下来我们建立工作目录:

mkdir /mnt/sda1/prjs
ln -s /mnt/sda1/prjs/ /

/prjs目录是我们主要用于存储的目录,由于路由器仅有一个root账号,所以无需考虑额外的权限问题,今后所有的git仓库,都能够在/prjs路径下另外构建目录进行保存,我们要建立一个测试仓库来验证工作是否正常。

mkdir /prjs/test
cd /prjs/test
git init --bare

行了,到这儿路由器那儿的全部准备都已然完成了。往后增添上新的git仓库,运用新型的仓库名称,把上面最后一个构建test仓库的行为重复一下就行。

测试路由器上的git仓库

前往我们的工作电脑那儿,随机去构建一个工作目录,检测路由器上的git仓库是不是运行得正常,接下来假定我们路由器的IP地址是192.168.先确定1这个位上的数字,再确定168这个位上的数字,最后确定1.1这个位上的数字,要把它修改成自己路由器的准确地址。

mkdir testgit
cd testgit
git init .
echo "test information" > abc.txt
echo "测试信息" > abc1.txt
git add .
git commit -m "something new"
git remote add origin root@192.168.1.1:/prjs/test/
git push --set-upstream origin master

最后的git push被执行之后,要输入那路由器的root账号跟密码 ,随后要是显示跟下面好似的信息 ,那就表明成功了:

Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 231 bytes | 231.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To root@192.168.1.1:/prjs/test/
   570db28..5ab2627  master -> master

自动验证

假设不想每次在进行git push操作时都去输入路由器密码 的话,那么能够将自身电脑的公钥存放至路由器备案,如此往后便无需再输入密码了,首先要拷取公钥至路由器。

scp ~/.ssh/id_rsa.pub root@192.168.1.1:~/

接着在路由器上执行:

cat id_rsa.pub >> /etc/dropbear/authorized_keys

能运用ssh去检测是不是起作用,在执行ssh root@192.168.1.1之后,要是不再需要输入密码就径直登录了路由器,那就表明自动验证发挥效用了。

未经允许不得转载:openwrt技术分享 » OpenWrt网络配置:路由器命令行改源与安全设置

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏