如何修改LEDE-OpenWrt的默认80管理端口-CarlZeng

发布时间 2023-11-27 07:47:37作者: CarlZeng
title: 如何修改LEDE和X86_64位OpenWrt的默认80管理端口-CarlZeng
tags: [OpenWrt,linux]
categories: OpenWrt
date: 2023-08-24 21:11:00
  1. The LEDE Project ssh修改80管理端口
  2. 排查及优化Openwrt内存占用

背景

我们网络环境的特殊性,尤其是跨越运营商时;80端口是很敏感而被封锁着的。那么如何把OpenWrt(路由器系统)的默认端口从默认的80端口改到其他的端口呢?SSH局域网内配置修改步骤如下。

关于LEDE OpenWrt

The LEDE Project (“Linux Embedded Development Environment”) is a Linux operating system based on OpenWrt. https://lede.readthedocs.io/en/latest/#

相当于一台硬件配置简陋的Linux服务器,用于测试小ipk软件包还是很好用的。

步骤

  1. 使用SSH连接到OpenWrt

  2. Terminal 运行 ssh root@192.168.6.1 如果提示错误:

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @    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 RSA key sent by the remote host is SHA256:62NIyqmMPzrJKil2jKX74MqnU/6xASo0SWfArXejsPQ.
    Please contact your system administrator.
    Add correct host key in /Users/\*\*\*/.ssh/known\_hosts to get rid of this message.
    Offending RSA key in /Users/\*\*\*/.ssh/known\_hosts:12 Host key for 192.168.6.1 has changed and you have requested strict checking.
    Host key verification failed.
    就需要我们把/Users/\*\*\*/.ssh 目录下的“known\_hosts”删除,重试一下即可。 2. 输入root用户的密码,登录到状态,类似信息:
    BusyBox v1.25.1 () built-in shell (ash)
         \_\_\_\_\_\_\_\_\_ /        /\\      \_    \_\_\_ \_\_\_  \_\_\_ /  LE    /  \\    | |  | \_\_|   \\| \_\_|
      /    DE  /    \\   | |\_\_| \_|| |) | \_|
     /\_\_\_\_\_\_\_\_/  LE  \\  |\_\_\_\_|\_\_\_|\_\_\_/|\_\_\_|                      lede-project.org
     \\        \\   DE / \\    LE  \\ /  ----------------------------------------------------------- \\  DE    \\ /    Reboot (17.01\-SNAPSHOT, r4046-beaa2ecc10)
        \\\_\_\_\_\_\_\_\_\\/    -----------------------------------------------------------
    
  3. 登录后,修改配置文件

    1. cd /etc/config
    2. cat uhttpd【可选步骤, 查看现有文件内容】
    3. vi uhttpd
    4. (i 命令)修改成下面这样从80,改为8080(举个例子)
      config uhttpd 'main' list listen_http '0.0.0.0:8080' list listen_http '[::]:8080' list listen_https '0.0.0.0:443' list listen_https '[::]:443' .....
    5. 修改完成后保存(:wq)
    6. 重启uhttpd(或重启路由器)
        /etc/init.d/uhttpd restart

关于X86_64位构架的OpenWrt

排查及优化Openwrt内存占用

尴尬地发现Openwrt在虚拟机中的内存占用率为:85%
黄条提醒很醒目

top -m

Mem: 430112K used, 65328K free, 33268K shrd, 6972K buff, 187200K cached
CPU:   0% usr   1% sys   0% nic  97% idle   0% io   0% irq   0% sirq
Load average: 0.17 0.18 0.09 1/236 19160
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 6376     1 root     T     3192   1%   0% {wrtbwmon} /bin/sh /usr/sbin/wrtbwmon -46 -f /tmp/usage.db -p /tmp/usage.htm -u /et
11165     1 root     SN   43924   9%   0% /usr/sbin/netdata -D -c /etc/netdata/netdata.conf
 4899  4880 root     S     1180   0%   0% /usr/sbin/umdns
   54     2 root     IW       0   0%   0% [kworker/2:1-eve]
 5074     1 root     S     708m 146%   0% speedtest-web --listen_port 8989
 5492     1 root     S     702m 145%   0% /usr/sbin/quickstart serve
30401     1 root     S    28028   6%   0% /usr/sbin/smbd -F
30469 30401 root     S    26336   5%   0% {smbd-cleanupd} /usr/sbin/smbd -F
30468 30401 root     S    26312   5%   0% {smbd-notifyd} /usr/sbin/smbd -F
30402     1 root     S    17500   4%   0% /usr/sbin/nmbd -F
11299 11165 root     SN   16780   3%   0% /usr/sbin/netdata --special-spawn-server
29142  4459 root     S     8912   2%   0% nginx: worker process
优化:在Openwrt的SSH中,请使用htop命令来监测系统性能及资源使用情况,它更加清晰,如下:

杀死进程:speedtest-web
kill -9 @@@
内存使用率 从85% 降到 77.76%;

  • 发现:/usr/sbin/wrtbwmon 是流量监控的进程
    在OP的UI界面,切换到 状态 》 实时监控; 关闭了实时监控的按钮;Pause
    内存使用率 从77% 降到 50%;

使用Netdata设置实时性能监控
这个进程杀死后也会自动在启动,而已有好多个进程ID,没有彻底解决这个性能占有问题

修改OpenWrt的默认80管理端口

自编译的J4125的OpenWrt的UI,不是使用上面那个K2P版本的LEDE OpenWrt的httpd来管理web页面UI。

这时候OpenWrt是NGINX来管理UI的,配置文件在/etc/config/nginx
这个文件包含NGINX配置文档内容。应用保存后自动重启生效。

如图:修改80端口为8080即可