我已经设置了速率限制来阻止对我的 ssh 服务器的暴力攻击。我使用以下 iptables 规则:
iptables -A INPUT -p tcp -m tcp --dport 22 -m hashlimit --hashlimit-upto 4/min
--hashlimit-burst 6 --hashlimit-mode srcip --hashlimit-name ssh
--hashlimit-htable-expire 60000 -m state --state NEW -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport 22 -m state --state NEW -j REJECT
Run Code Online (Sandbox Code Playgroud)
当我打开一个 SSH 连接(例如通过 PuTTY),然后一分钟后尝试打开另一个连接(例如,传输文件)时,第二个连接有时会被拒绝,服务器没有响应。如果我设法打开第二个 SSH 连接,然后尝试打开第三个连接,它会变得更加困难(很可能没有响应)。
我已经验证,当我禁用上述规则时,一切正常。增加--hashlimit-upto和/或--hashlimit-burst有帮助,但并不能完全解决问题——它只会降低问题发生的可能性。有时仍然会发生拒绝,但如果我禁用 iptables 规则,则永远不会发生。
到底是怎么回事?上述 iptables 规则规定,与新连接相关的 TCP 数据包应限制为每分钟 4 个。所以我应该能够轻松地每分钟打开最多 4 个连接。
如果要通过光纤连接同一站点上的两座建筑物,最好使用什么 - 路由器还是第 3 层交换机?每个建筑物中的第 2 层交换机都有 VLAN,因此它们将连接到路由器或第 3 层交换机,然后路由器或第 3 层交换机将连接到其他建筑物的路由器或第 3 层交换机。
或者另一种选择是不是在每个建筑物中都有路由器和第 3 层交换机,而是每个建筑物中的主要第 2 层交换机相互连接,并且它们都连接到主建筑物中的路由器或第 3 层交换机。
我知道第 3 层交换机在某种意义上是路由器,通常用于 VLAN,但棒上的路由器也可以解决这个问题。
在 Ubuntu 20.04 LTS 上,我正在尝试安装 MongoDB、Sublime Text 3 等软件包,但在添加它们之前,必须添加它们的 repo url。我正在尝试这个命令:
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
它失败了这条消息:
gpg: invalid key resource URL '/tmp/apt-key-gpghome.Mi0IvTayBR/home:hawkeye116477:waterfox.asc.gpg'
gpg: keyblock resource '(null)': General error
gpg: key 7721F63BD38B4796: 2 signatures not checked due to missing keys
gpg: key 5E62D791625A271E: 1 signature not checked due to a missing key
gpg: key 3B4FE6ACC0B21F32: 3 signatures not checked due to missing keys
gpg: key D94AA3F0EFE21092: 3 signatures not checked due to missing keys
gpg: key …Run Code Online (Sandbox Code Playgroud) 我想构建一个 HA Web 服务,我计划在三个节点(带有副本 3)上使用 Glusterfs。
我的计划是直接在 Gluster 节点上安装 Web 服务器。
这是一个可行的解决方案还是有充分的理由使用专用的 Gluster 节点?
谢谢你。
P。
我有一个 Azure VM,它可以在 IPv4 上正常工作
尝试直接将IPv6关联到它,但无法连接到外界,简单的ping ipv6.google.com挂起(根据微软的说法,这是不可能的,但使用负载均衡器是可能的)
然后,使用负载均衡器(标准),我将 IPv4 和 IPv6 与其关联,但问题仍然存在,也许我不知道如何正确配置。这就是我所做的:
更改回我的虚拟机连接了 IPv4 和 IPv6 的设置。
我的虚拟机需要能够连接到 IPv6 服务器,有人可以提供帮助吗?
我正在尝试按照此处的说明安装 amazon-linux-extras :
sudo yum install -y amazon-linux-extras
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
amzn-main | 2.1 kB 00:00:00
amzn-updates | 3.8 kB 00:00:00
839 packages excluded due to repository priority protections
No package amazon-linux-extras available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)
为什么包不可用?
我安装了 EPEL,所以我不明白发生了什么。
更新
输出
sudo yum repolist
Loaded plugins: priorities, update-motd, upgrade-helper
843 packages excluded due to repository priority protections
repo id repo name status
!amzn-main/latest amzn-main-Base 5,934
!amzn-updates/latest amzn-updates-Base 4,722
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 12,517+843
repolist: 23,173
Run Code Online (Sandbox Code Playgroud) 我的一台虚拟机出现问题,在停止/启动后,它更改了某些 IOT 客户端设备用于访问我的服务器的公共 IP 地址。
现在他们无法与我们的服务器通信
有什么办法可以恢复它吗?
安东尼奥
我正在运行基于运行 Debian stable (Buster) 的 Linux 服务器的路由器。它使用 Quagga 将 BGP4 与四个对等方(其中一个发送 IPv4 和 IPv6 的整个 Internet 路由表,其他发送的路由少得多)。
每天大约一到两次,服务器会在大约五分钟内失去 IPv6 连接。
发生这种情况时,服务器似乎无法向 IPv6 地址发送任何数据包。看来这会影响任何地址和接口 - 连接到 Internet 的主要以太网适配器以及连接到内置管理适配器(Lenovo XClarity 控制器)的特殊“Ethernet-over-USB”接口。但是,它可以 ping ::1 以及它自己的任何地址(本地链接和路由地址)。
此外,“ip -6 neigh ls”不显示任何“REACHABLE”,只显示“STALE”或“DELAY”。尽管如此,路由器本身上的 tcpdump 似乎没有显示任何邻居请求数据包出来。当我尝试访问同一 LAN 上的另一台机器时,目标上的 tcpdump 也没有显示收到任何邻居请求数据包。
这种状态持续约五分钟,之后一切恢复正常,无需任何人工干预。
IPv4 连接似乎不受此影响。
我试图通过运行分析工具(ping、vmstat、perf 记录)、保存它们的输出并将它们与时间相关联来对此进行更多分析。到目前为止,我可以说的是:
问题发生时似乎没有过多的网络流量
似乎没有任何类型的 RAM 或 CPU 使用率峰值
Internet 的正常运行会每隔一段时间导致一些增量路由表更改,这些更改由 quagga 执行;它们似乎与中断无关;这种中断也会发生在变化相对较小的时期之后
在任何时候,perf 都将 fib6_walk_continue 显示为最重要的符号之一;通常大约 5% 的开销。但是,几乎就在 IPv6 连接停止时,以下符号出现在顶部:
fib6_walk_continue(大约 30%) native_queued_spin_lock_slowpath(大约 10%) fib6_age(大约 10%)
最初它们似乎都属于“交换器”cmd。大约一分钟后,quagga 注意到它无法再访问对等方并开始删除 IPv6 路由;发生这种情况时,相同的三个符号出现在 perf 输出中,属于斑马。
当正常的 perf 输出返回时(intel_idle …
/etc/sysconfig我试图通过使用变量列表并在使用 systemd 嵌入式配置文件启动 Apache 时加载环境变量,使我的配置尽可能灵活且易于配置。由于环境变量在服务器启动后不会改变,因此我想通过使用 Apache 的IfDefine指令而不是常规If指令来提高性能和灵活性。
常规指令的问题之一<If>... </If>是块内的指令即使没有被执行也总是被计算。如果您使用环境变量作为参数,这一点非常重要,如下所示:
SVNParentPath ${MY_SVN_REPOSITORIES_PATH}
Run Code Online (Sandbox Code Playgroud)
${MY_SVN_REPOSITORIES_PATH}在这种情况下,如果计算结果为空字符串,Apache 将抛出错误并拒绝启动。我想在系统环境变量MY_SVN_REPOSITORIES_PATH为空或未设置时禁用服务存储库。我该怎么做呢?
我的服务器包含 128 个监视器,这导致提交了许多随机写入 IO。如果我使用SSD,很多写入很快就会坏掉。
我读了一些关于 F2FS 的文章,知道它在闪存盘和随机/小写上效果更好。
我的服务器中有很多随机写入 IO。它总是会降低我服务器的性能。
如果我在硬盘上安装 F2FS?这比ext4更好用吗?
====== 更新 ======
RAID0 仅用于性能基准测试,实际上我会使用 RAID5 或 RAID6。
在我搜索了很多之后,有两种方法可能有效:
azure ×2
ipv6 ×2
linux ×2
routing ×2
amazon-linux ×1
apache-2.4 ×1
apache2 ×1
filesystems ×1
glusterfs ×1
gpg ×1
io ×1
iptables ×1
latency ×1
repository ×1
router ×1
switch ×1
ubuntu ×1
vlan ×1
web-server ×1