在使用ifconfig命令显示越来越多的丢弃数据包的接收部分。因此,从 Internet 到达我的服务器的某些数据包似乎存在问题。
这个丢弃计数器考虑了什么样的数据包?在到达 iptables 防火墙之前,还是在 iptables 接受数据包之后,是否需要所有到达的数据包?
如何解决ipconfig drop包计数器停止增加的情况?
由于我不知道我的问题究竟是什么,如果您认为需要一些其他信息,请随时让我完成此部分。
eth0 Link encap:Ethernet HWaddr 00:cc:cc:cc:cc:cc
inet adr:90.0.0.2 Bcast:90.0.0.255 Masque:255.255.255.0
adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien
adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:113264620 errors:0 dropped:2523 overruns:0 frame:0
TX packets:168526529 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:59171827564 (55.1 GiB) TX bytes:223993117711 (208.6 GiB)
Run Code Online (Sandbox Code Playgroud)
请注意RX 部分中的“ dropped:2523 ”。这是最重要的。这个数字还在不断增加。
default via 90.0.0.254 dev eth0
90.0.0.0/24 dev …Run Code Online (Sandbox Code Playgroud) root@openwrt:~# ip -s -s -4 neigh show dev lan
10.64.42.121 lladdr b8:20:00:00:00:00 used 6387/6341/6313 probes 1 STALE
10.64.42.157 lladdr b8:20:00:00:00:00 used 24/813/19 probes 1 STALE
10.64.42.12 used 29066/30229/29063 probes 6 FAILED
10.64.42.1 lladdr e8:00:00:00:00:00 ref 1 used 10/5/5 probes 1 REACHABLE
root@openwrt:~# cat /proc/sys/net/ipv4/neigh/default/gc_interval
30
root@openwrt:~# cat /proc/sys/net/ipv4/neigh/default/gc_stale_time
60
root@openwrt:~# cat /proc/sys/net/ipv4/neigh/lan/gc_stale_time
60
Run Code Online (Sandbox Code Playgroud)
局域网中的主机 (b8:20:00:00:00:00) 的 IP 地址为 10.64.42.121。此 IP 现在无效,该主机的 IP 现在为 10.64.42.157(新的 DHCP 租用)。
我试图弄清楚旧的 arp 缓存条目何时将状态更改为 FAILED(假设没有人尝试联系 IP)。
最后一次确认条目是在 6341 秒前(1 小时 45 前)。这大于 60 …
我在同时使用 IPv4 和 IPv6 的专用服务器上使用 Debian Wheezy。
如果配置 eth0
eth0 Link encap:Ethernet HWaddr 11:11:11:11:11:11
inet adr:90.0.0.1 Bcast:90.0.0.255 Masque:255.255.255.0
adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien
adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1544 errors:0 dropped:0 overruns:0 frame:0
TX packets:2199 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:304146 (297.0 KiB) TX bytes:1376282 (1.3 MiB)
Run Code Online (Sandbox Code Playgroud)
(几分钟后,RX 下降计数器增加。)
cat /etc/network/interfaces
我首先使用了“网关”关键字,但它不起作用,所以我尝试在文件中添加路由,但它也不起作用。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 90.0.0.1
netmask 255.255.255.0
network 90.0.0.0
broadcast …Run Code Online (Sandbox Code Playgroud) 我的域example.com中的 MX 服务器指向我的 Postfix 服务器。不过,我还配置了一个负责example.com电子邮件的 Google Apps 帐户。
我希望所有电子邮件都转到我的 Postfix 服务器(这已通过 DNS 区域中的 MX 设置完成),但希望将此域的某些用户转发到 MX aspmx.l.google.com。
我使用 Transport_maps 参数做到了这一点。这是文件/etc/postfix/transport。
test@example.com smtp:[aspmx.l.google.com]
问题是,smtpd_reject_unlisted_recipient默认设置为yes ,但 postfix 在应用传输映射之前会检查用户是否存在。我的 Postfix 服务器不知道该域的用户测试,因此它只是拒绝电子邮件。
我希望在收件人存在检查之前进行传输路由(在我当前的设置中,只有 Google SMTP 知道用户test的存在)。那可能吗?
注意:local_recipient_maps 对我不起作用,因为我使用带有 dovecot 的虚拟传输。所以收件人表是virtual_mailbox_maps。
我正在寻找一种很好的方法来生成备份 tar.gz,该备份 tar.gz 将被另一个 tar.gz 的提取覆盖。
tar -ztf patch.tar.gz | grep -v "/$" | tar -T- -zcvf backup.tar.gz
Run Code Online (Sandbox Code Playgroud)
这工作得很好!但是,有时,新补丁(patch.tar.gz)不仅会包含硬盘中已经存在的文件,而且可能会添加不存在的新文件。这些不存在的文件将无法备份,第二个 tar 将产生错误。退出代码是2。
tar:文件夹/文件.txt:无法统计:没有这样的文件或目录
tar:由于先前的错误而以失败状态退出
我正在寻找仅检查文件存在 (stdin) 并在 stdout 上发送现有文件的 shell 命令。它存在吗?我需要这样的东西:
tar -ztf patch.tar.gz | grep -v "/$" | filterfileexist | tar -T- -zcvf backup.tar.gz
Run Code Online (Sandbox Code Playgroud)
我需要一个 shell 命令而不是一个 shell 脚本。
显然,我可以自己在 C 中实现这个 shell 命令,因为它非常简单,但我希望找到一些可以在其他 UNIX 平台上找到的通用内容。
一天(4 年前),我重新启动了我的服务器。重新启动完成后,我尝试像往常一样使用我的常规(非 root)帐户登录。那个时候,我有PermitRootLogin no。
我得到了答案
系统将于 2009 年 8 月 16 日星期日 00:43:48 关闭
并且无法登录。但事实并非如此,服务器不会关闭。它已经关闭了,但它已经启动了。实际上,我注意到由于某种神秘的原因/etc/nologin,创建的文件shutdown没有被删除。
当/etc/nologin文件存在时,SSH 不允许任何用户登录,root除外。
由于PermitRootLogin设置为 « no »,我无法登录并被迫在救援模式下硬重启我的服务器,挂载文件系统,删除/etc/nologin文件,然后重启。
那么,您如何看待PermitRootLogin设置为 « yes »,但禁用其密码 ( passwd -l root),以便 root 仅允许 SSH 密钥连接?