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
    • 最新
    • 标签
主页 / server / 问题

问题[freebsd](server)

Martin Hope
Charles Kwon
Asked: 2023-10-27 13:28:01 +0800 CST

FreeBSD - 是否可以在不同的磁盘中创建快照的克隆以提高性能?

  • 8

我是 FreeBSD 的新手,想通过 iSCSI 制作虚拟磁盘服务。我在同一磁盘上创建数据集的快照,但我想在不同的磁盘(例如 NVMe 驱动器)上创建克隆以加快写入速度。是否可以?

我担心在同一磁盘上发生读取(数据集)/写入(克隆)时可能会降低性能。

谢谢。

freebsd
  • 2 个回答
  • 259 Views
Martin Hope
Bilbo Baggins
Asked: 2023-08-27 17:00:01 +0800 CST

在 FreeBSD 上查找哪个进程不断从磁盘读取数据

  • 11

编辑:这最终成为一个清理过程。运行zpool status -v并清楚地读取池的扫描状态。

我有一台运行 FreeBSD 的 TrueNAS 服务器,今天早上 12 点,磁盘开始不断被读取。我认为这是一些快照任务,因此我禁用了快照并重新启动服务器,但每次重新启动服务器时,它都会继续从我的存储池中读取。我也停止了所有正在运行的监狱,磁盘仍然显示 IO(下面的屏幕截图是监狱正在运行,但它们看起来与监狱停止时相同)。

在此输入图像描述

我无法弄清楚哪个进程导致了这个问题。我尝试使用top -m io,但这显示没有读/写活动。

在此输入图像描述

根据这个资源,top -m io在 FreeBSD 上不起作用,所以我无法找出哪个进程正在从我的磁盘读取数据:

顶级 io 模式无法正确显示统计信息

我尝试使用 检查是否有任何正在运行的快照任务ps -aux | grep rsync,但除了我的 grep 命令之外没有任何显示。

这是我检查过的一些资源:

  • 确定 FreeBSD 下哪个进程负责大量磁盘 I/O(无用,推荐top)
  • 确定哪个进程导致大量磁盘 I/O?(没用,推荐iotopFreeBSD上没有)

是否可以让 top 命令工作?我只想知道哪个进程正在从我的磁盘读取数据并将其杀死。

freebsd
  • 1 个回答
  • 185 Views
Martin Hope
Utkonos
Asked: 2023-01-08 22:37:18 +0800 CST

如何在 AWK 中正确转义单引号

  • 8

尚不清楚在以下宏中还需要转义哪些内容才能使其在 FreeBSD 上与 awk 或 sed 一起使用。

define(`RELAY_MAILER_ARGS', `TCP $h 2525')dnl

SMART_HOST这是一个 awk 命令,它试图在配置下方的第 90 行插入上述行。

awk 'NR==90 { print "define(\`RELAY_MAILER_ARGS\', \`TCP $h 2525\')dnl"}1' example.com.mc

该命令导致以下错误:

Unmatched '"'.

未来的编辑注意:反引号/单引号不是错字。这是用于编写 Sendmail 配置宏的 m4 语言的一个古老怪癖:“m4 使用单引号(左“`”和右“'”)来引用参数”

附加说明sed:在 FreeBSD 上使用时,八进制转义符似乎不起作用。在那种情况下,在那种情况下使用xNN转义的十六进制字符。

freebsd
  • 1 个回答
  • 58 Views
Martin Hope
Raul Chiarella
Asked: 2022-04-06 07:03:04 +0800 CST

如何使用 SmartCTL 从 RAID 获取硬盘状态以进行监控?

  • 1

我有一个运行 3 个硬盘的 RAID 的 FreeBSD。我面临监控其 RAID 的挑战 - 如果硬盘出现故障或出现一些我需要知道的问题。

所以,我现在做的第一件事是尝试了解 SmartCTL 的工作原理……我目前使用的命令是:

smartctl --scan -j - To scan my devices and generated a JSON Structured list.
smartctl -i /dev/device_name - To list informations about a single device
smartctl -a /dev/your-device - More information like errors and etc (I think i can use this in some way to grep only errors sections...)

SmartCTL 是否还有其他参数可以检查磁盘是否可写、是否处于活动状态以及其健康状态是否正常?

这个理解的主要目的是主要使用 SmartCTL 来生成数据,这些数据将用于 pfSense RAID Monitoring with Low Level Discovery for Zabbix Monitoring Software 的模板中......

任何帮助都将不胜感激。

hard-drive monitoring freebsd pfsense zabbix
  • 1 个回答
  • 398 Views
Martin Hope
user227963
Asked: 2021-11-16 09:16:55 +0800 CST

将 dkimproxy 添加到 OpenSMTPD ... 发送到我自己的域时的邮件循环

  • 1

我有一个运行良好的 OpenSMTPD 配置,并在其中添加了 dkimproxy。

一切运行良好,邮件测试器等都报告说我有正确的 DKIM 签名,我的电子邮件分数是 10/10 等。

问题是 ...

如果我尝试从 [email protected] 向 [email protected] 发送电子邮件,则邮件服务器进入循环并且邮件永远不会发送。我看到这个maillog:

Nov 15 08:34:13 mail dkimproxy.out[38686]: DKIM signing - signed; message-id=<[email protected]>, signer=<[email protected]>, from=<[email protected]>
Nov 15 08:34:13 mail smtpd[33463]: 4dea90938ef29e98 smtp message msgid=0b62ff80 size=104666 nrcpt=1 proto=ESMTP
Nov 15 08:34:13 mail smtpd[33463]: 4dea90938ef29e98 smtp envelope evpid=0b62ff80eb408785 from=<> to=<[email protected]>                                                               
Nov 15 08:34:13 mail smtpd[33463]: 4dea9092f4274d88 mta delivery evpid=6fe8c750a74f16ac from=<> to=<[email protected]> rcpt=<-> source="200.100.240.135" relay="200.100.240.135 (mail.mydomain.com)" delay=1s result="Ok" stat="250 2.0.0 0b62ff80 Message accepted for delivery"

...并且它可能会一遍又一遍地循环 50 次 - 最终它放弃了这个错误:

Nov 15 08:34:18 mail smtpd[33463]: warn: loop detected                                                                                                                                            
Nov 15 08:34:18 mail smtpd[33463]: 4dea9097226c93aa smtp failed-command command="DATA" result="500 5.4.6 Routing loop detected: Loop detected"                                                    
Nov 15 08:34:18 mail smtpd[33463]: 4dea90969c6cf495 mta delivery evpid=49514d020281ac48 from=<> to=<[email protected]> rcpt=<-> source="200.100.240.135" relay="200.100.240.135 (mail.mydomain.com)" delay=1s result="PermFail" stat="500 5.4.6 Routing loop detected: Loop detected"

我不知道问题是什么。仅当我向自己或在此邮件服务器上托管的具有此域的其他用户发送电子邮件时,才会发生这种情况。

# cat dkimproxy_in.conf

# specify what address/port DKIMproxy should listen on
listen    200.100.240.135:10025

# specify what address/port DKIMproxy forwards mail to
relay     200.100.240.135:10026


# cat dkimproxy_out.conf 

# specify what address/port DKIMproxy should listen on
listen    200.100.240.135:10027

# specify what address/port DKIMproxy forwards mail to
relay     200.100.240.135:10028

# specify what domains DKIMproxy can sign for (comma-separated, no spaces)
domain    mydomain.com

# specify what signatures to add
signature dkim(c=relaxed)
signature domainkeys(c=nofws)

# specify location of the private key
keyfile   /root/dkim.private.key

# specify the selector (i.e. the name of the key record put in DNS)
selector  selector1

# control how many processes DKIMproxy uses
#  - more information on these options (and others) can be found by
#    running `perldoc Net::Server::PreFork'.
#min_servers 5
#min_spare_servers 2

......这就是一切......谢谢。

编辑 - 这是 opensmtpd.conf:

table aliases file:/usr/local/etc/mail/aliases

filter check_dyndns phase connect match rdns regex \
    { '.*\.dyn\..*', '.*\.dsl\..*' } \
    disconnect "550 no residential connections"

filter check_rdns phase connect match !rdns \
    disconnect "550 no rDNS"

filter check_fcrdns phase connect match !fcrdns \
    disconnect "550 no FCrDNS"

listen on 200.100.240.135 filter { check_dyndns, check_rdns, check_fcrdns }

listen on 200.100.240.135 port 10028 tag DKIM

listen on 200.100.240.135 port submission

action "local_mail" mbox alias <aliases>
action "relay_dkim" relay host smtp://200.100.240.135:10027
action "outbound" relay helo mail.mydomain.com
    
match from any mail-from "[email protected]" action "local_mail"

match tag DKIM for any action "outbound"
match for any action "relay_dkim"

match from any for domain "mydomain.com" action "local_mail"
match for local action "local_mail"

match from any auth for any action "outbound"
match for any action "outbound"
email freebsd email-server dkim opensmtpd
  • 1 个回答
  • 287 Views
Martin Hope
maar
Asked: 2021-07-24 00:37:20 +0800 CST

OVH 公共实例上的 PfSense FreeBSD - 没有互联网连接

  • 0

我在新安装的 PfSense 系统中没有互联网连接。
脚步:

  1. 我用 Ubuntu 创建了 OVH 实例并安装了mfsbsd图像。
  2. 开机后mfsbsd也有网络问题。根本无法下载任何东西或ping。
  3. 我使用本地网络通过 SSH 复制了 PfSense 图像。
  4. 我用UFS BIOS option.
  5. 使用 OVH 控制台,我可以看到 PfSense 在重新启动后正确启动。我还使用同一本地网络中的其他服务器(http://192.168.10.22/ --> https://pfsense.domain.com/)在 nginx 上配置了反向代理。之后我可以通过pfsense.domain.comURL 访问 GUI,但登录后出现错误,我无法在 UI 中执行任何操作:

检测到 HTTP_REFERER 未在系统 > 高级 ( https://pfsense.domain.com/ ) 中定义。如果不需要,可以在系统 > 高级 > 管理员访问中禁用此检查。

  1. 使用控制台登录到 PfSense 服务器后,我注意到还有网络连接问题。
  2. 一些输出:
[2.5.2-RELEASE][[email protected]]/root: ifconfig
    vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
            options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE>
            ether xx:xx:xx:xx:xx:xx
            inet6 xxxx::xxxx:xxxx:xxxx:xxxx%vtnet0 prefixlen 64 scopeid 0x1
            inet 123.123.123.123 netmask 0xffffffff broadcast 123.123.123.123
            media: Ethernet 10Gbase-T <full-duplex>
            status: active
            nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
    vtnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
            options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE>
            ether xx:xx:xx:xx:xx:xx
            inet6 xxxx::xxxx:xxxx:xxxx:xxxx%vtnet1 prefixlen 64 scopeid 0x2
            inet 192.168.10.22 netmask 0xffffff00 broadcast 192.168.10.255
            media: Ethernet 10Gbase-T <full-duplex>
            status: active
            nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    enc0: flags=0<> metric 0 mtu 1536
            groups: enc
            nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
            options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
            inet6 ::1 prefixlen 128
            inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
            inet 127.0.0.1 netmask 0xff000000
            groups: lo
            nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    pflog0: flags=100<PROMISC> metric 0 mtu 33160
            groups: pflog
    pfsync0: flags=0<> metric 0 mtu 1500
            groups: pfsync

[2.5.2-RELEASE][[email protected]]/root: netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
123.123.123.123    link#1             UHS         lo0
123.123.123.123/32 link#1             U        vtnet0
127.0.0.1          link#4             UH          lo0
192.168.10.0/24    link#2             U        vtnet1
192.168.10.22      link#2             UHS         lo0
213.186.33.99      xx:xx:xx:xx:xx:xx  UHS      vtnet0

Internet6:
Destination                       Gateway                       Flags     Netif Expire
::1                               link#4                        UH          lo0
fe80::%vtnet0/64                  link#1                        U        vtnet0
fe80::xxxx:xxxx:xxxx:xxxx%vtnet0  link#1                        UHS         lo0
fe80::%vtnet1/64                  link#2                        U        vtnet1
fe80::xxxx:xxxx:xxxx:xxxx%vtnet1  link#2                        UHS         lo0
fe80::%lo0/64                     link#4                        U           lo0
fe80::1%lo0                       link#4                        UHS         lo0

[2.5.2-RELEASE][[email protected]]/root: ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host

[2.5.2-RELEASE][[email protected]]/root: ping serverfault.com
ping: cannot resolve serverfault.com: Host name lookup failure


  1. 我检查了/etc/defaults/rc.conf和选项defaultrouter并gateway_enable设置为NO. 我将它们更改为YES,但重新启动后没有帮助。
networking freebsd pfsense
  • 1 个回答
  • 370 Views
Martin Hope
GTeley
Asked: 2021-07-22 04:18:57 +0800 CST

升级到 13.0 版后不再可访问监狱中的服务

  • 0

将虚拟 FreeBSD 12.2 系统升级到 13.0-p3 后,监狱内的服务流量(通过 Apache 2.4 反向代理)被阻止。这是一个 Hyper-V 虚拟服务器,第二个显示相同的问题(另一个是商业 VPS,虚拟机管理程序类型未知)。

起初,我认为这将是一个 PF 问题,因为停止 PF 解决了这个问题。我在 PF 日志中查找被阻止的流量,但找不到任何东西。

后来,我注意到创建一个新的监狱(使用 ezjail)不起作用,因为没有创建软链接。此外,访问监狱中的服务也不起作用,因为这在 12.2 监狱中不是问题。

作为测试,我从头开始创建了一个新的物理 v13 服务器并将其配置为升级后的服务器。一切正常。其次,我创建了另一个 Hyper-V 虚拟系统(在同一主机上)并从头开始安装并将其配置为升级后的系统(复制 /etc/rc.conf 和 /usr/local/etc/pf_rules 包含我的防火墙规则和更改了 IP 地址)。所有这一切都按其应有的方式工作。

所以我被几个 v12.2 系统困住了,我想升级到 v13.0,但是在同一个问题上 2 次尝试都失败了:监狱中的服务不再可以访问。看起来它与 PF 有关(因为停止它可以解决问题)但又没有(因为新安装的系统上的相同配置可以正常工作)。由于设置和配置是相同的,我找不到任何导致这种情况的原因。

还有其他方法可以找出这里出了什么问题吗?(就像我可以启用的其他一些日志记录一样,以查看为什么创建新监狱没有错误但呈现非工作监狱,因为没有创建 /basejail/* 的链接)

freebsd jail upgrade
  • 1 个回答
  • 54 Views
Martin Hope
GTeley
Asked: 2021-07-15 01:15:53 +0800 CST

FreeBSD 13 PF 阻止越狱流量

  • 1

将我的 FreeBSD 系统从 12.2 升级到 13.0-p3 后,PF 阻止了所有流向我的监狱的流量。禁用 PF 时,一切正常(除了不受保护;))

我试图通过设置'block in log all'来弄清楚是什么规则阻止了这个流量,但是除了一些明显的多播内容之外,没有任何东西可以解释为什么这个流量被阻止了。

同样,在 12.2 版本下一切正常之前。我确实找到了一些关于 v13 现在过滤 VLAN 而不是 lo0 的文章,但我不使用任何 VLAN。

我应该进一步寻求什么方向?

2021 年 7 月 15 日更新:

为清楚起见:这是我的 pf_rules 文件:

set block-policy return
set optimization aggressive
set skip on { lo0, lo1, lo2, lo3, lo4, lo5 }
ext_if=hn0
ext_address="{ 192.x.x.x, 2001:981:x.x::x }"
ext_services = "{ ssh, http, https, smtp, smtps }"
tcp_services = "{ ftp, ssh, domain, ntp, www, smtp, smtps, submission, http, https,nfs}"
udp_services = "{ domain, ntp, nfs }"
icmp6_types="{ 2, 128 }" # packet too big, echo request (ping6)
icmp6_types_ext_if="{ 128, 133, 134, 135, 136, 137 }"
jail_net = "192.168.1.0/24"
jail_services = "{ mysql, http, smtp, 587, 3000 }"
table <sshguard> persist
scrub in all
nat pass on $ext_if from $jail_net to any -> $ext_address
block in log on $ext_if proto tcp from <sshguard> to any port ssh label "ssh bruteforce"
block in log all
pass in quick from <pf_whitelist> flags S/SA synproxy state
pass out on $ext_if inet6 proto icmp6 all icmp6-type echoreq keep state
pass out on $ext_if inet proto udp to port 33433:33626
pass out on $ext_if inet6 proto udp to port 33433:33626
pass in on $ext_if inet6 proto ipv6-icmp icmp6-type $icmp6_types keep state
pass in on $ext_if inet6 proto ipv6-icmp from any to { ($ext_if ), ff02::1/16 } icmp6-type $i
cmp6_types_ext_if keep state
pass in on $ext_if proto tcp from any to $ext_address port $ext_services keep state
pass in on $ext_if inet6 proto tcp from any to $ext_address port $ext_services keep state
pass out on $ext_if inet proto tcp to any port $tcp_services keep state
pass out on $ext_if inet6 proto tcp to any port $tcp_services keep state
pass out on $ext_if inet6 proto udp to any port $udp_services
pass proto udp to any port $udp_services keep state
pass in proto tcp from any to $jail_net port $jail_services keep state
pass out proto tcp from $jail_net to any port $jail_services keep state
pass inet proto icmp from any to any

这已经工作了很多年,直到 FreeBSD 13

freebsd jail pf
  • 2 个回答
  • 360 Views
Martin Hope
stckvrw
Asked: 2021-06-25 01:05:22 +0800 CST

无法设置 Apache 以在 FreeBSD 中执行 PERL 文件

  • 0

我已经在 FreeBSD 12 中成功安装了 perl5 和 apache24。然后我启用了 apache24/etc/rc.conf并看到 index.html 放置在 path 中/usr/local/www/apache24/data。然后在文件中/usr/local/etc/apache24/httpd.conf我取消了该行的注释

AddHandler cgi-script .cgi

在里面<IfModule mime_module>并且也在.pl行尾添加。

然后我在同一个文件中添加了这一行

Options FollowSymLinks +ExecCGI

行后

Options Indexes FollowSymLink

并重新启动 Apache,但收到错误

要么所有选项都必须以 + 或 - 开头,要么没有选项可以

所以我在FollowSymLink没有任何错误的情况下添加了这一行并重新启动了 Apache。但是,如果我点击链接,mydomain.com/test.pl我仍然会看到我的 PERL 代码显示为纯文本而不是执行。

我的 PERL 代码是

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "Hello world!";

如果我通过命令在命令行中运行代码,perl /usr/local/www/apache24/data/test.pl我会收到两行Content-type: text/html,即Hello world!. 该文件的权限为 755。

我还能做些什么来解决问题?

cgi perl freebsd apache-2.4
  • 1 个回答
  • 178 Views
Martin Hope
Eduardo Lucio
Asked: 2021-06-11 15:25:29 +0800 CST

pfSense - 使用终端/控制台/shell 通过 WAN 启用 ssh(端口 22)访问

  • 0

我们需要通过 WAN 接口启用 pfSense ssh(端口 22)访问,以使用 pfSense 的终端/控制台/shell 执行某些配置。

已经采取的行动...

  • “安全外壳(sshd)”已通过 pfSense 控制台选项 14 启用14) Enable Secure Shell (sshd);
  • 我们运行命令easyrule pass wan tcp any any 22以允许访问 ssh(端口 22)。
  • 使用选项 1212) PHP shell + pfSense tools我们执行命令...
$config['system']['ssh']['enable'] = "enabled";
write_config();
exec

…………

$config['system']['enablesshd'] = "true";
write_config();
exec

... 和...

playback enablesshd

;

情况...

  • 使用“过滤日志”选项(10),我们观察到对 ssh(端口 22)的调用被阻塞;
  • 用命令关闭防火墙pfctl -d我们就可以正常访问ssh(22端口)了。

重要提示:我们需要通过 pfSense 的终端/控制台/shell 启用对 sshd(端口 22)的访问。

PLUS:我们知道可以通过 gui (http/web gui) 允许访问,但我们需要通过 pfSense 终端/控制台/shell 允许此初始访问。

注意:我们知道不建议通过 WAN 接口上的 ssh(端口 22)进行访问,但最初对我们来说是必要的。

谢谢!=D

firewall freebsd pfsense freebsd-ports
  • 1 个回答
  • 2696 Views

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve