问题列表 - 第5017页

ip 规则和路由没有得到尊重

我正在尝试packets根据他们的进行路由source address,并添加了以下内容:

# ip rule add from 10.10.10.0/16 dev eth0 table foobar
# ip route add default via 100.100.100.1 dev eth0 table foobar
Run Code Online (Sandbox Code Playgroud)

然而,测试路由给了我错误的via地址:

# ip route get 4.3.2.1 from 10.10.10.1
4.3.2.1 from 10.10.10.1 via 100.0.0.1 dev eth0
Run Code Online (Sandbox Code Playgroud)

为什么这不被尊重?

这是我的常客 routes

# ip route list
default via 100.0.0.1 dev eth0
Run Code Online (Sandbox Code Playgroud)

# ip route show table foobar
default via 100.100.100.1 dev eth0
Run Code Online (Sandbox Code Playgroud)

# ip rule list
0:  from all lookup local
32765:  from …
Run Code Online (Sandbox Code Playgroud)

linux ip route ip-routing policy-routing

7
推荐指数
1
解决办法
2557
查看次数

将网桥流量路由到 VPN 隧道(AWS 客户端 VPN 终端节点)

我在eth0&之间创建了桥梁wlan0。以下是ifconfig

root@ubuntu:~ $ ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.24.11.15  netmask 255.255.255.0  broadcast 10.24.11.255
        inet6 fe80::1fd4:f47a:59d2:1de8  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:8e:38:ee  txqueuelen 1000  (Ethernet)
        RX packets 2571  bytes 308138 (300.9 KiB)
        RX errors 0  dropped 230  overruns 0  frame 0
        TX packets 2511  bytes 289807 (283.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether b8:27:eb:db:6d:bb  txqueuelen 1000  (Ethernet)
        RX packets 6268  bytes 1641477 (1.5 MiB) …
Run Code Online (Sandbox Code Playgroud)

networking vpn routing openvpn linux-networking

1
推荐指数
1
解决办法
417
查看次数

如何确定网络接口的“可预测名称”

我正在设置一个新服务器并安装了 Ubuntu Bionic,它使用可预测的网络接口名称

安装程序在救援系统上运行,该系统仍然使用旧的接口名称,如eth0, eth1,但新安装的系统已将第一个网卡配置为enp8s0

使用lshw,这张卡的公交信息是:

bus info: pci@0000:08:00.0
Run Code Online (Sandbox Code Playgroud)

我想设置其他网络接口而不启动到新安装的系统,但不知道如何确定其他卡的可预测网络接口名称。

使用lshw,我找到了另一个网卡,目前已禁用:

bus info: pci@0000:41:00.0
Run Code Online (Sandbox Code Playgroud)

是否可以由此确定可预测的网络接口名称?会是这样enp41s0吗?

我已经搜索了一段时间,但找不到任何可以简单地列出所有设备及其可预测名称的工具。

编辑:为什么我不想启动新系统来查找?因为这会在设置过程中增加一个额外的步骤。使用旧的接口命名,我可以运行一个脚本来从托管公司提供的救援系统中设置服务器,并且可以使用了。现在我必须先设置服务器减去额外的网络配置。然后我必须在新系统启动后手动设置网络,只是为了知道接口的名称。

networking ubuntu udev systemd

6
推荐指数
2
解决办法
2084
查看次数

无法从 AD 中删除 OU,IsCriticalSystemObject 属性为 TRUE - 无法更改

我最近接手了一个客户的合同,在该合同中,以前的 IT 显然做了从 SBS Server 迁移到 Server 2016 的半途而废的工作。

在 AD 中有一个名为 MyBusiness 的 OU,它有两个子文件夹:SBSComputersSBSUsers。我已将所有计算机从 SBSComputers 移至顶级 Computers OU,对于 SBSUsers 也是如此。文件夹是空的。

现在我正在尝试删除两个 OU,但它们的isCriticalSystemObject属性设置为TRUE。当我尝试将该属性设置为 FALSE 时,出现以下错误:

手术失败。错误代码:0x2077
非法修改操作。不允许修改的某些方面。
00002077:SvcErr:DSID-03190CD8,问题 5003(WILL_NOT_PERFORM),数据 0


感谢任何帮助家伙,用这个拉我的头发!

active-directory windows-server-2016

5
推荐指数
2
解决办法
1891
查看次数

所有 S3 url 之间有什么区别?

我想向互联网提供资产。我创建了一个启用了网站托管的公共存储桶。

我发现AWS支持几种URL:

# HTTP + HTTPS
https://<bucket>.s3.amazonaws.com/<file>

# HTTP only!
http://<bucket>.s3-website-<region>.amazonaws.com/<file>

# HTTP + HTTPS
# Will be removed
# See https://forums.aws.amazon.com/ann.jspa?annID=6776
https://s3.<region>.amazonaws.com/<bucket>/<file>
Run Code Online (Sandbox Code Playgroud)

为什么有这么多格式,首选哪一种?

从我的观点来看,第一个 URL 更简单并且支持 HTTPS,因此在我看来更好,但是使用它有缺点吗?

amazon-s3 amazon-web-services

6
推荐指数
1
解决办法
3161
查看次数

Debian 9 服务器在 auth.log 中没有 sshd

在我的一台服务器 Debian 9 上,没有来自sshdin 的输出/var/log/auth.log。事实上,如果我这样做ag sshd/var/log,它只是不会出现。里面唯一的东西auth.logsystemd-logind. 事实上,几乎所有的日志消息都来自 systemd 是很可疑的。只有零星的少数来自其他事物。

这是我的/etc/rsyslog.conf(减去评论)(它应该是默认值):

module(load="imuxsock") # provides support for local system logging
module(load="imklog")   # provides kernel logging support

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

$WorkDirectory /var/spool/rsyslog

$IncludeConfig /etc/rsyslog.d/*.conf

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

mail.info                       -/var/log/mail.info
mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err

*.=debug;\
        auth,authpriv.none;\
        news.none;mail.none     -/var/log/debug
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\ …
Run Code Online (Sandbox Code Playgroud)

linux debian rsyslog systemd

9
推荐指数
1
解决办法
1018
查看次数

使用 group_vars 在不同组上使用同一主机

我有一个 Ansible 清单,如下所示:

[group1]
host1.mydomain

[maingroup:children]
group1

[group2]
host1.mydomain
Run Code Online (Sandbox Code Playgroud)

我需要在不同的组上声明相同的主机,因为在这个主机中有两个类似的服务并置。为了区分这两个服务,我创建了以下组变量:

group_vars/maingroup
---
servicepath: /service1/path

group_vars/group2
---
servicepath: /service2/path
Run Code Online (Sandbox Code Playgroud)

当我第一次使用 运行剧本hosts: maingroup,然后使用相同的剧本时hosts: group2,它servicepath每次都使用正确的变量值(第一次运行= /service1/path,第二次运行= /service2/path)。

但是,在我运行剧本时的所有后续重试中,我都maingroup获得了价值servicepath: /service2/path

我只设法使用--extra-vars=@group_vars/group2ansible-playbook 参数使用正确的变量运行 剧本。

这可能是 Ansible 错误还是我遗漏了什么?

ansible ansible-playbook

4
推荐指数
1
解决办法
5583
查看次数

Apache 2.4 - 如何在文件指令中输入多个文件?

我在官方文档中找不到任何关于它的信息

我尝试允许访问两个 php 文件A.phpB.php.

<Files "A.php">
    Require all granted
</Files>

<Files "B.php">
    Require all granted
</Files>
Run Code Online (Sandbox Code Playgroud)

它是这样工作的还是有更好的解决方案?

apache-2.4

6
推荐指数
1
解决办法
1859
查看次数

有效删除数百万个文件夹和文件

我有一个带有巨大文件系统的服务器,用于连续写入和读取而不会出现问题,并且需要始终处于活动状态。

我的目标是有一个 cronjob,它根据名称删除空文件夹和文件,并且超过 X 天。显而易见的答案是使用find -name -mtime -delete但它使用了太多的磁盘资源并导致 IO 等待和其他程序由于服务器无响应而错过它们的检查。

是否有任何易于使用的工具可以完成此类工作?也许限制磁盘使用?还有什么我没有想到的?

linux filesystems ubuntu-18.04

3
推荐指数
1
解决办法
90
查看次数

Docker Swarm 管理器之间的高网络 I/O

网络流量

我们使用 3 个管理节点和 16 个工作节点运行 Docker Swarm。三个管理节点中的两个节点之间的网络 I/O 非常高。为了说明这一点,iftop以下是三个管理器节点的输出:

vm71 (10.0.0.131)

vm71                 => 10.0.0.130            39.3Mb  47.5Mb  49.3Mb
                     <=                        802Kb  1.03Mb  1.07Mb
Run Code Online (Sandbox Code Playgroud)

vm70 (10.0.0.130)

vm70                 => 10.0.0.131             798Kb  1.00Mb  1.00Mb
                     <=                       40.9Mb  44.8Mb  44.8Mb
Run Code Online (Sandbox Code Playgroud)

vm75 (10.0.0.135)

vm75                 => 10.0.0.131            9.50Kb  10.1Kb  9.51Kb
                     <=                       7.83Kb  8.08Kb  7.56Kb
Run Code Online (Sandbox Code Playgroud)

如上所示,vm70 和 vm71 之间的流量大约是 vm75 和其他两个管理器之间的流量的 4,000 倍。我们将规则设置为在任何 swarm 管理器上不运行容器。这通过docker stats在每个人身上运行得到证实。

按流程联网

下一个明显的问题是哪些进程正在生成这个网络 I/O。的输出netstat -tup如下。我只显示与iftop.

tcp6       0     46 vm71:2377               10.0.0.130:39316        ESTABLISHED 791/dockerd
Run Code Online (Sandbox Code Playgroud)

请注意,这是 tcp6 流量。

我们被难住了。为什么我们会看到这些管理节点之间的流量如此之大?如果我们降级然后提升管理器节点,流量会清理一段时间。但是,它最终会再次增加。这可能是什么原因造成的?

networking docker docker-swarm

5
推荐指数
1
解决办法
116
查看次数