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-94862

nbari's questions

Martin Hope
nbari
Asked: 2021-03-05 09:16:20 +0800 CST

pkg OSVERSION 与监狱/主机不匹配

  • 0

我有一个 FreeBSD 主机和一些监狱,主机和监狱中的输出freebsd-version -u是12.2-STABLE.

在主机中输出uname -K和pkg -vv | grep OSVERSION匹配 1202505但在监狱内我得到OSVERSION = 1201512;

我更新了主机和监狱,但仍然找不到错误的原因。

有任何想法吗?

freebsd
  • 1 个回答
  • 56 Views
Martin Hope
nbari
Asked: 2020-06-11 13:46:47 +0800 CST

监狱中的后缀如何通知在主主机中运行的黑名单

  • 1

我已经编译了带有在监狱中运行的blacklistd支持的postfix。

在主主机 (FreeBSD 12.1)blascklistd上运行此配置:

# Blacklist rule
# adr/mask:port type    proto   owner           name    nfail   disable
[local]
submission      stream  *       *               *       2       24h

如何配置postfix通知blacklistd在主主机上运行?

postfix freebsd
  • 1 个回答
  • 367 Views
Martin Hope
nbari
Asked: 2020-06-08 12:54:26 +0800 CST

syslog-ng 将日志级别/优先级设置为警告或更多以减少冗长

  • 0

如何运行/配置syslog-ng仅高于安全日志级别/优先级的日志WARNING?

我想丢弃NOTICES像:

Destination timeout has elapsed, closing connection; fd='36'

从文档中:(https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.22/administration-guide/17#TOPIC-1209129)我发现了这个:

syslog-ng OSE 应用程序从 internal() 源发送以下消息类型:

致命:优先级值:关键(2),设施值:系统日志(5)

错误:优先级值:错误(3),设施值:系统日志(5)

警告:优先级值:警告(4),设施值:系统日志(5)

notice:优先级值:notice (5),Facility 值:syslog (5)

info:优先级值:info (6),Facility 值:syslog (5)

但找不到如何将日志级别设置为warning

syslog-ng loglevel
  • 1 个回答
  • 478 Views
Martin Hope
nbari
Asked: 2020-04-04 12:29:36 +0800 CST

CARP + IPV6 故障转移

  • 0

我正在使用Hetzner的 vSwitch和 IPv6 网络,我已经配置了CARP并按预期工作,但我注意到的问题是,因为我的 IPv6 配置或 vSwitch,需要一分钟或更长时间才能开始发送包到新可用的 (MASTER) 服务器。

对于没有 的测试CARP,在其中一台服务器中,我创建了一个别名,例如:

ifconfig vlan0 inet6 2a01:4f8:fff0:60:dead:beef::1/64 alias

从终端中的另一台主机开始ping6 2a01:4f8:fff0:60:dead:beef::1,在通过接收一些回显回复检查地址是否可访问后,我删除别名:

ifconfig vlan0 inet6 2a01:4f8:fff0:60:dead:beef::1/64 -alias

Ping 按预期停止,然后我在另一台服务器中添加相同的别名:

ifconfig vlan0 inet6 2a01:4f8:fff0:60:dead:beef::1/64 alias

大约一分钟或更长时间后,运行 ping IP 地址的终端开始回复。

因此想知道如何加快分配 IP 地址的时间,我认为在 IPv6 中这与“邻居发现”有关,但由于我使用的是静态地址,因此可能并非如此。

以防万一我使用 IPv4 进行测试,并且响应几乎是在添加 IP 别名或删除它之后立即响应,我希望使用 IPv6 实现相同的效果,以便我可以利用 CARP。

freebsd ipv6 carp
  • 1 个回答
  • 476 Views
Martin Hope
nbari
Asked: 2019-09-18 10:14:28 +0800 CST

如何仅以 haproxy 日志格式转义引号

  • 3

我正在捕捉user-agent使用:

http-request capture req.hdr(User-Agent) len 192

然后尝试创建这样的自定义JSON日志格式:

log-format '{"User-Agent":%{+Q,+E}[capture.req.hdr(0)]}'

它可以工作,但是当用户代理包含方括号时,例如:

Dalvik/1.6.0 (Linux; U; Android 4.4.4; Ixion X LTE 4.5 [Build KTU84P])

该选项+E转义方括号并阻止 JSON,它创建如下内容:

"User-Agent": "Dalvik/1.6.0 (Linux; U; Android 4.4.4; Ixion X LTE 4.5 \[Build KTU84P])"

当 UA 包含额外的引号时没有问题:

"User-Agent": "this \"works\" fine"

因此想知道是否有一种方法可以指定仅转义双引号或替代方法以使日志格式JSON兼容

haproxy
  • 1 个回答
  • 858 Views
Martin Hope
nbari
Asked: 2019-02-13 11:39:05 +0800 CST

如何更新和维护多个监狱(ZFS 和 nullfs 框架)

  • 0

有多种创建监狱的方法和工具,现在磁盘空间变得越来越便宜,创建一个完整的监狱(已经编译了一个世界)只是几秒钟的事情:

zfs create tank/jails/sandbox
zfs create tank/jails/sandbox/home
zfs create tank/jails/sandbox/tmp
make installworld DESTDIR=/jails/sandbox SRCCONF=/etc/src-jail.conf

为了更新现有的监狱,我目前正在使用类似的东西:

for jail in /jails/*; do
   make installworld delete-old delete-old-libs DESTDIR=$jail  
done

它有效,但除了是破坏性过程之外,它还意味着“停机时间”,因为如果需要,无法回滚。

有一些方法描述了如何创建基本图像,然后nullfs使用符号链接安装只读骨架或其他方法,但在所有可能的选项中,我想知道您如何处理滚动升级?

尽管如果主机使用的是 FreeBSD 11.2 并且现在已更新到 FreeBSD 12 时使用的工具,我想例如只需要运行一次:

make installworld DESTDIR=/jails/new-base12 SRCCONF=/etc/src-jail.conf

然后每个监狱要么提升(zfs)或修改自定义/etc/fstab.jailname(nullfs),这样一旦完成,我就可以做一个/etc/rc.d/jails restart并最大限度地减少停机时间。

要遵循的任何最佳实践或方法,请记住目标是最大程度地减少停机时间,并尽可能简化升级或多个监狱?

freebsd
  • 1 个回答
  • 768 Views
Martin Hope
nbari
Asked: 2017-10-16 12:22:32 +0800 CST

在主机 ping 来宾之前,Bhyve + IPv6 无法从来宾 ping 到主机

  • 0

主机/来宾都使用 FreeBSD 11.1,我使用vm-byhbe创建了 VM 。

这是主机配置/etc/rc.conf

ifconfig_igb0_ipv6="inet6 2a01:4f8:150:84ec::1 prefixlen 64"
ipv6_activate_all_interfaces="YES"
ipv6_defaultrouter="fe80::1%igb0"
rtadvd_enable="YES"

在/etc/rtadvd.conf

igb0:\
        :addrs#1:addr="2a01:4f8:150:84ec::"\
        :prefixlen#64\
        :tc=ether\
        :rltime#0\
        :rdnss="2a01:4f8:150:84ec::1":

这是bhyve客人/etc/rc.conf

ifconfig_vtnet0_ipv6="inet6 accept_rtadv"
ipv6_defaultrouter="fe80::1%vtnet0"
rtsold_enable="YES"

这是ifconfig bridge0主机上的输出:

bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: vm-public
    ether 02:e0:41:b7:a4:00
    nd6 options=1<PERFORMNUD>
    groups: bridge
    id 00:00:00:00:00:00 priority 0 hellotime 2 fwddelay 15
    maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
    root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0
    member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 7 priority 128 path cost 2000000
    member: igb0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 1 priority 128 path cost 2000000[/CODE]

我发现的第一个问题是,在启动 VM 后,需要一段时间才能获得 IP,在某些情况下我需要重新启动rtadvd才能获得 IP,我在日志中的错误是这个:

rtadvd[1871]: <getconfig> inet_pton failed for 2a01:4f8:150:84ec::

VM 获得 IP 后,我可以 ping 其他主机,例如2001:4860:4860::8844,但不能 ping 主机本身,因此我无法解析到任何域,这是因为我在主机上使用unbound并且是我定义的 DNS (/etc/resolve.conf)。

到目前为止,我发现解决此问题的唯一方法是从主机 ping 到客户机上的 IPv6,之后一切都按预期工作。

有什么想法可能是错的吗?为了测试,我禁用了pf ( pfctl -d) 但仍然无法正常工作。

提前致谢。

freebsd
  • 1 个回答
  • 343 Views
Martin Hope
nbari
Asked: 2016-12-06 04:02:22 +0800 CST

使用提供的网关 2001:4ba0:fffd:1:beef::1 /128 而不是 fe80::1。

  • 1

我正在尝试在FreeBSD 11服务器上设置一些 IPV6 地址,有人告诉我将此 IP 用作网关:

2001:4ba0:fffd:1:beef::1 /128

我的地址是:

2001:4ba0:fffd:0063::0 /64

我试过这个:

ipv6_activate_all_interfaces="YES"
ipv6_defaultrouter="2001:4ba0:fffd:1:beef::1"
ifconfig_bge0_ipv6="inet6 2001:4ba0:fffd:0063::1 prefixlen 64"

但我收到这条消息:

route: writing to routing socket: Network is unreachable
add net default: gateway 2001:4ba0:fffd:1:beef::1 fib 0: Network is unreachable

通过这样做,npd -a我得到了这个:

> ndp -a
Neighbor                             Linklayer Address  Netif Expire    S Flags
2001:4ba0:fffd:63::1                 2c:44:fd:9a:3f:90   bge0 permanent R
fe80::1%bge0                         28:92:4a:cd:08:18   bge0 22h8m42s  S R
fe80::2a92:4aff:fecd:818%bge0        28:92:4a:cd:08:18   bge0 23h27m31s S R
fe80::2e44:fdff:fe9a:3f90%bge0       2c:44:fd:9a:3f:90   bge0 permanent R

然后我尝试用作默认路由器fe80::1.:

ipv6_activate_all_interfaces="YES"
ipv6_defaultrouter="fe80::1%bge0"
ifconfig_bge0_ipv6="inet6 2001:4ba0:fffd:0063::1 prefixlen 64"

当使用链路本地 fe80::1地址作为网关时,IPV6 工作。

我想知道使用链接本地地址作为网关的优点/缺点是什么,以及如何使用提供的网关或使用两者都是一样的?

freebsd ipv6
  • 1 个回答
  • 372 Views
Martin Hope
nbari
Asked: 2016-11-30 05:03:05 +0800 CST

慢速网络修复添加 hw.vtnet.csum_disable=1 可能的副作用是什么?

  • 1

在Google Compute 引擎上使用FreeBSD 11创建带有 openvpn 和 l2tp (mpd) 的 vpn 时,我注意到网络速度非常慢,首先我禁用了 TSO:

ifconfig vtnet0 -tso

但是没有用,因此我通过将此行添加到文件中来禁用完整的vtnet 校验和卸载:/boot/loader.conf

hw.vtnet.csum_disable="1"

这样做之后,网络速度明显提高。

但是想知道这是否会引发其他问题,或者完全可以禁用它作为虚拟环境?

kvm-virtualization freebsd google-compute-engine
  • 1 个回答
  • 1528 Views
Martin Hope
nbari
Asked: 2016-05-17 07:59:12 +0800 CST

了解 HAProxy 前端和后端当前会话统计信息

  • 5

我已经使用单个前端和后端配置了 HAProxy,从统计信息页面我看到以下统计信息:

system limits: memmax = unlimited; ulimit-n = 20013
maxsocs = 20013; maxconn = 10000; maxpripes =0
current conns = 361; current pipes 0/0; conn rate = 27/sec
Running tasks: 1/366; idle = 98%

在“会话”部分的前端,我看到:

Cur: 360
Max: 427
Limit 2000

一个在后端:

Cur: 0
Max: 3
Limit: 2000

为了简化,我附上这个数字的图像: 在此处输入图像描述

我不明白的事情是为什么如果当前连接是:361,后端有0。

由于设置原因,HAproxy 是否将传入连接限制/排队以保护后端timeout queue?

如何知道前端联系后端的时间?

这是我正在使用的测试配置:

global
    maxconn 10000
    spread-checks 3
    log /var/run/log local0 notice
    daemon
    tune.ssl.default-dh-param 2048
    ssl-default-bind-options no-sslv3 no-tls-tickets
    ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:HIGH:!aNULL:!MD5:!DSS
    ssl-default-server-options no-sslv3
    ssl-default-server-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:HIGH:!aNULL:!MD5:!DSS
defaults
    balance roundrobin
    option http-server-close
    option abortonclose
    option dontlognull
    mode http
    timeout check           3s
    timeout client          30s  # Client and server timeout must match the longest
    timeout connect         5s
    timeout http-keep-alive 10s
    timeout http-request    10s  # A complete request may never take that long.
    timeout queue           10s  # Don't queue requests too long if saturated.
    timeout server          10s  # Time we may wait for a response from the server.
    retries 3
    log global
    errorfile 408 /dev/null
frontend http-in
    bind *:80
    option httplog
    option forwardfor if-none
    default_backend nodes-http
backend nodes-http
    option httpchk GET /
    http-check disable-on-404
    rspirep ^Cache-Control Cache-Control:\ public,\ max-age=60,\ must-revalidate
    server node1 :8000 maxconn 2000 check

提前致谢。

haproxy
  • 1 个回答
  • 21212 Views
Martin Hope
nbari
Asked: 2016-04-25 11:35:51 +0800 CST

如何理解 FreeBSD 上命令 top 的“SIZE”输出

  • 3

我在做一个 512 内存的 VPS,我安装了 mysql,运行命令top,发现SIZEfor mysql 的值为 638M:

last pid:  2023;  load averages:  0.17,  0.19,  0.21                                                                                              up 0+03:05:43  19:26:01
27 processes:  1 running, 26 sleeping
CPU:  0.4% user,  0.0% nice,  1.2% system,  0.0% interrupt, 98.4% idle
Mem: 60M Active, 216M Inact, 94M Wired, 59M Buf, 104M Free
Swap: 1024M Total, 1024M Free

  PID USERNAME       THR PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
 1324 mysql           30  20    0   638M   168M uwait    2:12   0.00% mysqld

从手册页我得到了这个:

SIZE 是进程的总大小(文本、数据和堆栈)

VPS 上只有 512M 的 RAM,虽然我正在消耗所有内存,但基于这MEM条线似乎不是:

Mem: 60M Active, 216M Inact, 94M Wired, 59M Buf, 104M Free

因此,我想知道如何计算和如何正确解释它们的更多SIZE细节RES。

freebsd top
  • 1 个回答
  • 3828 Views
Martin Hope
nbari
Asked: 2016-02-26 04:40:21 +0800 CST

如何基于 maxconn 扩展 HAProxy

  • 0

有没有办法监控/获取当前值maxconn并基于该值添加更多实例?

目前,我设置了 3 个 HAProxy,maxconn 1000并且在统计页面甚至无法访问时重新缓存了限制。

所以想知道/防止当我接近达到该限制时如何水平扩展。

有任何想法吗?

haproxy
  • 2 个回答
  • 312 Views
Martin Hope
nbari
Asked: 2016-01-31 02:44:57 +0800 CST

如何让 svlogd 通过 UDP 发送日志

  • 1

我目前正在使用runit + svlogd来监督一些应用程序,但是当部署到多台机器时,我需要将日志集中/统一在一个地方以简化事情,否则登录到每台机器会使事情变得非常复杂。

而不是通过 syslog 发送所有主机日志,例如:

*.* remote.log.host

我只想发送与应用程序相关的日志,理论上 svlogd 能够做到这一点,来自文档:

ua.b.c.d[:port]
    tells svlogd to transmit the first len characters of selected log messages to the IP address a.b.c.d, port number port. If port isn’t set, the default port for syslog is used (514). len can be set through the -l option, see below. If svlogd has trouble sending udp packets, it writes error messages to the log directory. Attention: logging through udp is unreliable, and should be used in private networks only.
Ua.b.c.d[:port]
    is the same as the u line above, but the log messages are no longer written to the log directory, but transmitted through udp only. Error messages from svlogd concerning sending udp packages still go to the log directory.

我的配置文件的内容 /service/my-service/log/main/config:

u127.0.0.1:5514 

或者

U127.0.0.1:5514

为了测试,我创建了一个非常基本的UDP 服务器/客户端,但由于未知原因svlogd没有发送日志,我也尝试netcat使用它:

nc -ul 5514

我为此使用的日志运行脚本/service/my-service/log/run:

#!/bin/sh

exec svlogd -tt ./main

我得到的唯一错误消息是:

warning: failure sending through udp: 

我一直在使用的解决方法是logger在日志运行脚本中调用,例如:

#!/bin/sh

exec chpst -u nobody logger -i -h remote.host.tld -P 42060 -t my-app

但是通过这种方法,我失去了 svlogd 的所有优势,除了sv status .总是开/关(1,0),因为记录器不像守护进程那样运行。

最后,我想继续获得来自 svlogd 的日志,但可以让工作成为ua.b.c.d[:port]选项。

更新:做一个 ktrace 这就是我得到的:

  4909 svlogd   CALL  socket(PF_INET,SOCK_DGRAM,IPPROTO_IP)
  4909 svlogd   RET   socket 7
  4909 svlogd   CALL  fcntl(0x7,F_GETFL,0)
  4909 svlogd   RET   fcntl 2
  4909 svlogd   CALL  fcntl(0x7,F_SETFL,0x6<O_RDWR|O_NONBLOCK>)
  4909 svlogd   RET   fcntl 0
  4909 svlogd   CALL  sendto(0x7,0x609580,0x3c,0,0x609c3c,0x10)
  4909 svlogd   STRU  struct sockaddr { AF_UNSPEC, unknown address family }
  4909 svlogd   RET   sendto -1 errno 47 Address family not supported by protocol family
  4909 svlogd   CALL  write(0x6,0x609760,0x62)
  4909 svlogd   GIO   fd 6 wrote 98 bytes
       "warning: failure sending through udp:

STRU struct sockaddr { AF_UNSPEC, unknown address family }

有任何想法吗 ?

logging
  • 1 个回答
  • 1136 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