AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-390474

Greg's questions

Martin Hope
Greg
Asked: 2022-04-15 09:55:05 +0800 CST

无法访问防火墙后面的节点(尽管有规则)

  • 6

这是一个与我在 2019 年提出的另一个问题相似但不同的问题。我认为它完全不同,可以提出一个新问题。

我编写了一个使用 CORS(跨源资源共享)的 Node Express 应用程序。我仍在尝试远程开发(SSH 到服务器)。VS Code 运行良好,我可以通过 SSH 连接到服务器和路由器 (OpenWRT) 以供管理员使用。

当我运行应用程序时,它告诉我它正在运行。通过 SSH 使用 Links(命令行浏览器)到服务器,我可以看到 JSON 响应,所以我知道它正在运行。

我已经运行export PORT=8080它现在被代码正确拾取

应用程序代码是:

// Based on a // Tutorial from https://www.bezkoder.com/react-node-express-mysql/ converted to access database of solar power generation values
const express   = require("express");
const cors      = require("cors");
const HOSTNAME  = '0.0.0.0';
const PORT      = process.env.PORT || 8082;
const app       = express();

// const db = require("./app/models");
// db.sequelize.sync();

var corsOptions = {
  origin: `http://${HOSTNAME}:${PORT}`
};

app.use(cors(corsOptions));

// parse requests of content-type - application/json
app.use(express.json());

// parse requests of content-type - application/x-www-form-urlencoded
app.use(express.urlencoded({ extended: true }));

//const PORT = process.env.PORT || 8082;

// simple route
app.get("/", (req, res) => {
  res.json({ message: `Welcome to Greg's application on localhost: ${PORT}.` });
});

// set port, listen for requests
app.listen(PORT, () => {
  console.log(`Server is running on port:- ${PORT}.`);
});

出于某种原因,它从 中获取后备端口 8082,而const PORT = process.env.PORT || 8082;不是 var corsOptions = { origin: http://${HOSTNAME}:8080中指定的端口 };

如果我curl -v -X -H http://<my static WAN IP>:8082/从远程终端运行。我明白No route to host了 - 请参阅下面的 DNAT 规则

如果我curl -v -X -H http://<localhost> or <0.0.0.0>:8082/通过 ssh 从我的服务器终端运行。我明白了

*   Trying ::1:8082...
* TCP_NODELAY set
* Connected to localhost (::1) port 8082 (#0)
> -H / HTTP/1.1
> Host: localhost:8082
> User-Agent: curl/7.66.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 400 Bad Request
< Connection: close
<
* Closing connection 0

我相信我已经正确设置了用于端口转发的 DNAT 路由规则(我有三个规则。8080,8081 和 8082 各有一个,用于实验目的) - 已编辑(另请参阅 OpenWRT链接以获取规范和链接用于解释“选项”与“列表”)

config redirect
        option dest_port '8080'
        option src 'wan'
        option name 'Tranq8080'
        option src_dport '8080'
        option target 'DNAT'
        option proto 'tcp'
        option dest_ip '<server's LAN address>'
        option dest 'lan'

我找不到远程访问应用程序 http 的方法。我不知道是防火墙、代码还是浏览器中的某种跨脚本巫术(我认为远程 CURL 拒绝表明它不是后者)?

帮助?

networking port-forwarding
  • 1 个回答
  • 146 Views
Martin Hope
Greg
Asked: 2022-03-08 06:20:19 +0800 CST

主 GPT 表损坏(RAID-1 并安装为 /home)阻止我重新安装 Linux

  • 5

环境:Linux TRANQUILITY 5.3.18-150300.59.49-preempt #1 SMP PREEMPT Mon Feb 7 14:40:20 UTC 2022 (77d9d02) x86_64 x86_64 x86_64 GNU/Linux还有 OpenSuse Leap 15.3 和 KDE Plasma 5

当我从 USB 记忆棒运行操作系统安装时,我得到了分区检查,它在哪里爆炸:-(/usr/bin/udevadm /dev/sdd1 could not be found (failed)我不记得确切的错误文本,没有重新运行安装过程,但这是要点它)

去年(2021 年 4 月)我在丢失/home数据时遇到问题,不得不将非 RAID 磁盘带到数据恢复公司。从记忆中,我认为它原来是一个 GPT 错误,修复它只是昂贵而不是天文数字(很高兴为我的数据安全付费)。我让他们将所有/home数据从该磁盘传输到我购买的两个 1TB WD Black 磁盘之一。我用两个新磁盘设置了 RAID-1,直到最近这似乎都很好!


关于我为什么要重新安装(在水平线之间)的上下文部分可能/可能不相关?

奇怪的事情发生了,我不知道它们是否相关,但它们看起来很系统 - 比如:

  1. Firefox 标签在某些网站上立即开始崩溃,我认为/认为这可能是 Firefox 错误
  2. Python 停止工作,导致不相关的程序失败(主要是 Libre-Office - 不断进入恢复),但 FreeCAD(主要基于 Python)仍然有效
  3. Corel AftershotPro 由于缺少/不正确的版本库(仍然存在)而无法启动

我尝试的许多修复似乎又回到了 Python。最后,我删除了 Python,它卸载了许多关键操作系统的东西(尤其是 GUI),然后我重新安装了它(以及大多数已自动卸载的项目。即使这样也没有用,所以我想我'会重新安装操作系统 - 认为我的/home数据是安全的。正如我所提到的,情况似乎并非如此,它正在停止我的重新安装以稳定我的计算机。


试过:

lsblk
<snipped the loop devices>
sda             8:0    0 931.5G  0 disk  
└─sda1          8:1    0 931.5G  0 part  
  └─md127       9:127  0 931.5G  0 raid1 
    └─md127p1 259:0    0 931.5G  0 part  /home
sdb             8:16   0   1.8T  0 disk  
└─sdb1          8:17   0   1.8T  0 part  
  └─cr-auto-1 254:0    0   1.8T  0 crypt /china2
sdc             8:32   0 111.8G  0 disk  
├─sdc1          8:33   0   148M  0 part  
├─sdc2          8:34   0   100G  0 part  /
├─sdc3          8:35   0     2G  0 part  
└─sdc4          8:36   0     2G  0 part  
sdd             8:48   0 931.5G  0 disk  
sde             8:64   0   1.8T  0 disk  
└─sde1          8:65   0   1.8T  0 part  /chinaPhotos

注意sda/sda1/md127/md127p1在这里安装为/home

我猜sda&sdd是有贡献的物理RAID设备,sdd是坏的吗?

我尝试了以下方法:(显示/home的是/dev/md127p1)

df -h
Filesystem                        Size  Used Avail Use% Mounted on
devtmpfs                          4.0M     0  4.0M   0% /dev
tmpfs                             7.8G  243M  7.5G   4% /dev/shm
tmpfs                             3.1G  335M  2.8G  11% /run
tmpfs                             4.0M     0  4.0M   0% /sys/fs/cgroup
/dev/sdc2                         100G   38G   63G  38% /
/dev/sdc2                         100G   38G   63G  38% /.snapshots
/dev/sdc2                         100G   38G   63G  38% /boot/grub2/i386-pc
/dev/sdc2                         100G   38G   63G  38% /boot/grub2/x86_64-efi
/dev/sdc2                         100G   38G   63G  38% /opt
/dev/sdc2                         100G   38G   63G  38% /root
/dev/sdc2                         100G   38G   63G  38% /srv
/dev/sdc2                         100G   38G   63G  38% /tmp
/dev/sdc2                         100G   38G   63G  38% /var
/dev/sdc2                         100G   38G   63G  38% /usr/local
/dev/sdb1                         1.8T  1.7T   94G  95% /chinaPhotos
/dev/md127p1                      932G  402G  530G  44% /home
<snipped loop devices>
/dev/mapper/cr-auto-1             1.9T  1.5T  399G  79% /china2
tmpfs                             1.6G   72K  1.6G   1% /run/user/1000
/dev/sdm                          3.4M  3.3M  116K  97% /run/media/░░░░/SBEAM
/dev/sdn                          1.6M   24K  1.6M   2% /run/media/░░░░/UPDATE
192.168.░░░.░░░:/volume1/DataBackup  2.7T  2.3T  492G  83% /░░░░░
<snipped loop devices>

最后,我试过了

mdadm --detail /dev/md*  
mdadm: /dev/md does not appear to be an md device
/dev/md127:
           Version : 1.0
     Creation Time : Sun Apr 25 17:58:55 2021
        Raid Level : raid1
        Array Size : 976761344 (931.51 GiB 1000.20 GB)
     Used Dev Size : 976761344 (931.51 GiB 1000.20 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Mar  6 19:26:29 2022
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : any:home
              UUID : 75959fa2:f25b6088:7a9e9a80:c1f38480
            Events : 3183874

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       -       0        0        1      removed
/dev/md127p1:
           Version : 1.0
     Creation Time : Sun Apr 25 17:58:55 2021
        Raid Level : raid1
        Array Size : 976760303 (931.51 GiB 1000.20 GB)
     Used Dev Size : 976761344 (931.51 GiB 1000.20 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Mar  6 19:26:29 2022
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : any:home
              UUID : 75959fa2:f25b6088:7a9e9a80:c1f38480
            Events : 3183874

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       -       0        0        1      removed

安装过程识别/dev/sdd为问题,但似乎与以下问题相同fdisk。

fdisk /dev/sdd

Welcome to fdisk (util-linux 2.36.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

The primary GPT table is corrupt, but the backup appears OK, so that will be used.

和

fdisk  /dev/sda

Welcome to fdisk (util-linux 2.36.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): v
No errors detected.
Header version: 1.0
Using 1 out of 128 partitions.
A total of 2014 free sectors is available in 1 segment.

计算机大部分工作正常,我已经备份了 /home 的大部分数据,但更新正在备份,我无法安全地重新安装。

在硬件方面,依次物理移除每个 RAID 磁盘(首先关闭 PC,obvs) - 其中一个磁盘对启动没有影响(所有工作都在重新启动),但移除另一个会停止启动过程,所以我猜第二个是工作 RAID /dev/sda-/home磁盘,前者是“损坏”的磁盘/dev/sdd!我还尝试将坏掉的那根换成正在工作的那根 SATA 电缆,以防万一那是问题,但没办法!

我可以运行哪些进一步的诊断/操作:

  • 看看我关于该磁盘是故障磁盘的假设是否正确
  • 找出它有什么问题,以及它是终端问题还是可修复问题(这些磁盘有 3 或 5(?)年保修,但它们只有不到 1 年的历史。)
  • 格式化它或以其他方式恢复它并将其添加回 RAID1 阵列(或者我应该更换它吗?)
linux raid
  • 2 个回答
  • 452 Views
Martin Hope
Greg
Asked: 2019-11-02 06:54:52 +0800 CST

OpenWRT 防火墙后面的节点

  • 5

我远离我的家庭服务器(OpenSuse 15.1),其中包含我需要访问的数据库。由于我不想进入这里的原因,我想在同一台机器上运行一个 Node.js 应用程序。我有一个具有以下端口转发规则的 OpenWRT 路由器:

config redirect                              
        option target 'DNAT'                    
        option src 'wan'                        
        option dest 'lan'                    
        option proto 'tcp'                      
        option src_dport '3000'                 
        option dest_ip '192.168.7.7'         
        option name 'NodeTranq-0'               
        option dest_port '3000'                 

/etc/init.d/firewall reload 我通过 ssh 编辑应用程序并保存编辑,重新启动防火墙。然后我运行该应用程序,它宣布它在端口 3000 上运行一个网络服务器。然后我从我的远程计算机(在 Firefox 68.1.0esr(64 位)上)尝试我的静态 WAN 地址和端口 3000,我希望得到 URL由我的 Node 应用程序获取。我的 Node 应用程序是 app.js,包含:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

我还没有检查任何其他防火墙,但会检查(我认为没有)。连接被拒绝

Unable to connect

Firefox can't establish a connection to the server at <server ip>:3000.

关于尝试什么的任何其他想法?

port-forwarding firewall
  • 1 个回答
  • 94 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve