我正在尝试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) 我在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) 我正在设置一个新服务器并安装了 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吗?
我已经搜索了一段时间,但找不到任何可以简单地列出所有设备及其可预测名称的工具。
编辑:为什么我不想启动新系统来查找?因为这会在设置过程中增加一个额外的步骤。使用旧的接口命名,我可以运行一个脚本来从托管公司提供的救援系统中设置服务器,并且可以使用了。现在我必须先设置服务器减去额外的网络配置。然后我必须在新系统启动后手动设置网络,只是为了知道接口的名称。
我最近接手了一个客户的合同,在该合同中,以前的 IT 显然做了从 SBS Server 迁移到 Server 2016 的半途而废的工作。
在 AD 中有一个名为 MyBusiness 的 OU,它有两个子文件夹:SBSComputers和SBSUsers。我已将所有计算机从 SBSComputers 移至顶级 Computers OU,对于 SBSUsers 也是如此。文件夹是空的。
现在我正在尝试删除两个 OU,但它们的isCriticalSystemObject属性设置为TRUE。当我尝试将该属性设置为 FALSE 时,出现以下错误:
手术失败。错误代码:0x2077
非法修改操作。不允许修改的某些方面。
00002077:SvcErr:DSID-03190CD8,问题 5003(WILL_NOT_PERFORM),数据 0
感谢任何帮助家伙,用这个拉我的头发!
我想向互联网提供资产。我创建了一个启用了网站托管的公共存储桶。
我发现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,因此在我看来更好,但是使用它有缺点吗?
在我的一台服务器 Debian 9 上,没有来自sshdin 的输出/var/log/auth.log。事实上,如果我这样做ag sshd的/var/log,它只是不会出现。里面唯一的东西auth.log是systemd-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) 我有一个 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 错误还是我遗漏了什么?
我尝试允许访问两个 php 文件A.php和B.php.
<Files "A.php">
Require all granted
</Files>
<Files "B.php">
Require all granted
</Files>
Run Code Online (Sandbox Code Playgroud)
它是这样工作的还是有更好的解决方案?
我有一个带有巨大文件系统的服务器,用于连续写入和读取而不会出现问题,并且需要始终处于活动状态。
我的目标是有一个 cronjob,它根据名称删除空文件夹和文件,并且超过 X 天。显而易见的答案是使用find -name -mtime -delete但它使用了太多的磁盘资源并导致 IO 等待和其他程序由于服务器无响应而错过它们的检查。
是否有任何易于使用的工具可以完成此类工作?也许限制磁盘使用?还有什么我没有想到的?
我们使用 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 流量。
我们被难住了。为什么我们会看到这些管理节点之间的流量如此之大?如果我们降级然后提升管理器节点,流量会清理一段时间。但是,它最终会再次增加。这可能是什么原因造成的?
linux ×3
networking ×3
systemd ×2
amazon-s3 ×1
ansible ×1
apache-2.4 ×1
debian ×1
docker ×1
docker-swarm ×1
filesystems ×1
ip ×1
ip-routing ×1
openvpn ×1
route ×1
routing ×1
rsyslog ×1
ubuntu ×1
ubuntu-18.04 ×1
udev ×1
vpn ×1