服务器管理员

系统和网络管理员的问答

4
是否在SPF记录中超出了DNS互动条款的最大限制?
作为托管服务提供商,我们代表客户发送电子邮件,因此我们帮助他们在DNS中设置DKIM和SPF电子邮件记录,以确保电子邮件的正确传递。我们一直建议他们使用http://mail-tester.com来测试他们没有错过任何东西,我非常喜欢这个工具。 我们已经遇到了几次问题,我不确定,这是基于域名的SPF记录中的DNS“限制”。因此,如果您有: v=spf1 a include:aspmx.googlemail.com include:campaignmonitor.com include:authsmtp.com include:mail.zendesk.com include:salesforce.com include:_hostedspf.discourse.org ~all 你会得到 example.com ... campaignmonitor.com: Maximum DNS-interactive term limit (10) exceeded 像这样: 我对此有一些疑问。 我在这里计算六个域名,而不是10个,那么为什么它在这里命中“十个” DNS请求? 在这里回答 这10个DNS交互式术语限制是警告还是实际错误?例如,我们应该在乎吗?这有点困扰我们的客户,他们通过电子邮件向我们寻求支持。 在这里回答 这10个DNS交互式术语是否限制了当今网络上的实际问题?如您所见,该客户有很多为他们发送电子邮件的服务,他们都是合法的。也许此DNS限制是在2000年设置的,当时委托这样的电子邮件服务并不常见? 是的,我们可以让客户将SPF记录中的IP包含更改为IP,但是如果我们更改IP,这将使我们陷入束缚,一堆客户的资料将破裂。真的不想那样做.. 有什么解决方法?

4
SSH进入具有相同公共IP地址的NAT服务器
我正在尝试从Office X中的SSH到Office Y中的几个Linux机器。OfficeY中的Linux机器位于NAT之后,并且每个机器都在各自的端口上运行。我可以通过SSH成功​​访问所有这些服务器,但无法进行身份验证。 我能够通过SSH进入第一个对话框,但是当我进入第二个对话框时,它说: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the …
16 linux  ssh  solaris  ssh-keys 

2
如何在Google Kubernetes Engine中选择Kubernetes负载均衡器的外部IP地址
我正在使用Google Kubernetes Engine部署网络应用,并且希望通过负载均衡器访问它,而该负载是我作为Google Cloud Platform中同一项目的一部分而控制的现有静态IP地址的,已经指向该IP。 我用于广告连播的yaml文件是: apiVersion: v1 kind: Pod metadata: name: my-pod labels: app: my-app spec: containers: - name: my-container image: gcr.io/my-project/my-app:latest 我可以使用以下方法设置负载均衡器: apiVersion: v1 kind: Service metadata: name: my-load-balancer spec: ports: - port: 80 targetPort: 80 selector: app: my-app type: LoadBalancer 这提供了可在其上访问该应用程序的外部IP,但是我找不到任何将其配置为使用所需IP的方法。该服务的文件提到了spec.clusterIP设置,但这似乎并没有涉及到的外部IP。同样,一旦设置了负载平衡器,该服务的status.loadBalancer.ingress.ip字段便被设置为其外部IP地址,但这似乎不是可配置的设置。 或者,我尝试在Google Compute Engine控制台中手动创建转发规则,以将流量从我的静态IP地址引导到Kubernetes设置的目标池,但是当我尝试连接时,连接被拒绝。 有什么办法可以做-在选定的静态IP地址上在Google Kubernetes引擎上公开Kubernetes pod(或复制控制器)?

6
修复OpenVPN客户端上的``TLS错误:TLS握手失败''
我正在Arch Linux服务器上配置OpenVPN 2.3.6-1,以便通过公共Internet加密SMB通信。当我在一个Linux虚拟机客户端上测试设置时,出现错误:TLS Error: TLS handshake failed。 我快速阅读(OpenVZ上的OpenVPN TLS错误:TLS握手失败(谷歌建议的解决方案没有帮助)),并尝试从默认UDP切换到TCP,但这仅导致客户端反复报告连接超时。我还尝试禁用密码和TLS身份验证,但这导致服务器失败Assertion failed at crypto_openssl.c:523。在这两种情况下,都对客户端和服务器配置进行了必需的更改。 我一直按照(https://wiki.archlinux.org/index.php/OpenVPN)上的说明设置OpenVPN和(https://wiki.archlinux.org/index.php/Create_a_Public_Key_Infrastructure_Using_the_easy-rsa_Scripts)创建密钥和证书。我与这些说明唯一的差异是指定了我自己的计算机名称及其对应的密钥/证书文件名称。 另请参阅我有关保护Internet上的SMB流量的原始问题:(Samba共享的简单加密) 谁能解释我如何解决这个问题? 细节: 服务器:Arch Linux(最新)通过以太网电缆直接连接到网关。没有iptables。 客户端:VirtualBox 4.3.28r100309 Windows 8.1主机上的Arch Linux(最新)虚拟机,桥接网络适配器。没有iptables。Windows防火墙已禁用。 网关:已启用端口1194的端口转发,没有防火墙限制。 这分别是服务器和客户端上的配置文件。我根据Arch Wiki上的说明创建了这些文件。 /etc/openvpn/server.conf (仅非注释行): port 1194 proto udp dev tun ca /etc/openvpn/ca.crt cert /etc/openvpn/server-name.crt key /etc/openvpn/server-name.key dh /etc/openvpn/dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt keepalive 10 120 …
16 openvpn 

4
擦拭非常慢。熵太少了吗?
我必须交出包括硬盘的笔记本电脑。由于未加密,因此我想至少迅速擦除它。我知道这在SSD上不是最佳选择,但我认为比普通可读性更好。 现在,我正在擦拭活动的USB记忆棒,而且速度很慢。我不知道这是为什么。当然,除了擦除该设备外,计算机上几乎没有发生任何事情,因此我认为熵可能很低(entropy_avail说是在1220年)。打电话也一样好 dd if=/dev/random of=/dev/sda1 bs=1k 四次?还是有一种我可以打电话的方式来增加随机性?还是瓶颈完全不同?

2
将自定义SSH DH组部署到仅客户端系统有任何安全性好处吗?
针对SSH的与Logjam相关的攻击的一种建议的缓解策略是,使用类似以下的方法生成自定义的SSH Diffie-Hellman组: ssh-keygen -G moduli-2048.candidates -b 2048 ssh-keygen -T moduli-2048 -f moduli-2048.candidates 然后用输出文件替换系统范围的模数文件moduli-2048。(ssh-keygen -G用于生成候选DH-GEX素数,并ssh-keygen -T测试生成的候选安全性。) 显然,这在SSH服务器上是很合理的事情,否则将使用众所周知的组来很好地进行预计算,但是将自定义SSH DH组部署到仅客户端系统上是否有安全方面的好处?(也就是说,连接到SSH服务器,但从不充当SSH服务器的系统。) 我主要对与Linux上的OpenSSH有关的答案感兴趣,但是也希望您能获得更多通用的答案。
16 ssh  ssh-keys  logjam 

5
带有logrotate的rsyslog:重新加载rsyslog与copytruncate
我正在使用默认的rsyslog和logrotate实用程序在Ubuntu 14上工作。 在默认的rsyslog logrotate /etc/logrotate.d/rsyslog配置中,我看到以下内容: /var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate reload rsyslog >/dev/null 2>&1 || true endscript } 据我了解,建议在所有logrotate方案中使用copytruncate,因为它不会移动当前日志,而是会截断日志,因此任何使用打开文件处理程序的进程都可以继续对其进行写入。 那么如何使用rsyslog重载功能代替默认配置呢?

7
为什么下载文件时比较校验和是一个好习惯?
提供ISO文件以供下载的网站通常会提供这些文件的md5校验和,我们可以用来确认该文件已正确下载并且未损坏。 为什么这是必要的?当然,TCP的纠错属性就足够了。如果未正确接收到数据包,则将重新发送该数据包。TCP / IP连接的本质不保证数据完整性吗?
16 tcp 

2
如何为RPM软件包卸载新安装的依赖项?
有没有简单的方法来列出新安装的RPM软件包将与之安装的依赖项列表yum? 示例:如果这样做,yum install ruby它还将安装一些rubygems。 但是,当我卸载ruby软件包时,我也想摆脱它所安装的依赖项。 所以我的第一个想法是列出这些新软件包,然后rpm -e在卸载时对它们进行处理ruby。 题 如何以自动方式制作此类清单? 还是有一种更简单的方法来管理带有rpm包名称的文本文件?
16 linux  centos  bash  fedora 

7
了解NVMe存储和硬件要求
我对基于PCIe的存储的最新发展有些困惑,特别是因为它与NVMe规范及其硬件兼容性有关。 虽然我已经广泛使用磁盘形式的SSD和某些高端PCIe设备(例如Fusion-io)进行了工作,但我对我不了解NVMe的基础知识,并且正在寻求澄清哪种服务器类型支持硬件。 例如,Supermicro 这样的广告文案令人困惑。 ...高性能CPU PCI-E Gen3直接连接到NVMe设备。 我正在使用基于Linux的软件定义的存储解决方案,并想使用备用Fusion-io设备,该设备使用专有驱动程序(向OS 展示/ dev / fioX设备名称)。 当我向供应商寻求帮助时,答复是: 新的NVMe设备界面已使“ fioX”设备命名过时。这意味着我们购买了过时的适配器以增加其他人没有要求的支持。 这似乎有点苛刻。我不认为Fusion-io适配器已经过时。 我在网上发现的稀缺信息似乎暗示着NVMe仅在绝对最新的服务器硬件(英特尔E5-2600v3 CPU和PCI 3.0芯片组?)上受支持。但是我无法验证这一点。 这是真的? 普及率是多少?这是工程师在设计决策时要考虑的问题,还是我们在谈论尚未完全形成的“标准”? 如果NVMe 仅适用于市场上的最新系统,是否(向供应商)建议我的较旧系统的安装基础不能与NVMe兼容,是否值得添加我要求的支持?

3
某些交换机上的电话无法完成DHCP过程
背景 我有一台Windows DHCP服务器(Server 2008 R2)分发多个作用域的地址。这些范围之一是某些Mitel IP电话。电话配置为使用dhcp选项125获取配置信息。当电话启动时,它不知道要使用哪个VLAN,因此它仅获得其连接到的任何端口的默认(未标记)VLAN。dhcp服务器给它一个响应,其中包含选项125信息,并且电话能够从该响应中读取应使用的VLAN。然后,电话释放其原始地址,并使用正确的vlan标签请求新的dhcp租约。这些电话通常还具有连接到直通端口的计算机。来自计算机的数据包不会被标记,因此PC将保留在端口的原始(未标记)VLAN中。这为我们工作了多年。 问题与症状 最近几周的某个地方发生了某些变化,我不确定是什么。只要不重启电话,电话就可以继续工作,这意味着必须正确处理dhcp更新请求。连接到某些交换机的电话甚至可以在重启后幸存下来。但是,连接到其他交换机的电话在重启时将无法完成该过程。我们所有的电话都使用由UPS备份的PoE,因此距离任何电话都已经重启很久了。这意味着我不知道问题何时首次出现。我所知道的是,一部电话在昨天重启时发生了故障,今天在对其进行故障排除时,我们重置了该开关柜。现在,该交换机上的所有电话都无法正常工作(幸运的是,电话数量仍然很少)。我也知道1月底前一切正常, 当我看到电话启动时,可以看到它成功获取了第一个地址。然后,它成功读取选项125信息,设置正确的VLAN标签,并释放原始IP租约。它甚至能够在服务器上的正确VLAN上接收和接受报价。但是,这就是停止的地方。电话在屏幕上会显示一条消息“ DHCP: Offer 2 ACC”,但是Windows DHCP服务器尚未记录租约,因此电话永远不会继续运行。我只能猜测DHCP REQUEST数据包永远不会到达Windows服务器,因此手机正在等待来自Windows的最终ACK,可以继续。 解决方法 我终于能够重新打电话。为此,我必须先断开计算机的连接。然后,我将电话的交换端口设置为在电话VLAN上未加标签,而PC VLAN上没有成员资格。手机现在将正确重启。此时,我可以将交换机端口配置恢复到应有的位置,只要在重置端口时没有人尝试拨打该号码,电话就不会错过任何拍子。然后,我可以重新连接计算机。显然,这不是一个理想的过程,但是由于电话重启很少,因此我将无法使用它来使人们再次工作,直到找到根本原因为止。现在办公室一周关闭,因此实际上可以允许在周末坐这个问题(我没有电话所在的各个办公室的钥匙)。 我固定的这部电话是服务器机房中的服务电话,直接连接到我们的核心交换机。问题很可能是核心交换机上路由或处理标签的问题,因此该解决方法在数据包首先通过其他交换机(由其他交换机标记)的远程办公室中无效,但我将非常惊讶如果发生这种情况,考虑到我知道它必须正确处理dhcp更新和实际的电话对话。 一种变化是,将端口标记在PC vlan上意味着电话将失败,并显示消息“ DHCP: Offer 1 ACC”。我需要完全删除该VLAN才能成功。 注意:我现在已经确认该变通办法在偏远的建筑物中有效。这使我怀疑我的设备没有以某种方式分配给正确的VLAN。我在核心交换机上遇到问题,并且该问题几乎同时在网络上的多个位置发生,这一事实表明核心交换机可能是问题所在。没什么要看的,我计划在周末结束时安排一个维护窗口来重启交换机。我也可能会更新固件。 环境 我们的核心交换机是HP 5406zl。此交换机处理VLAN间路由。Windows DHCP服务器直接连接到交换机。端点交换机通过光纤SFP连接到核心交换机,并且这些端口在两端都标记有所有VLAN。核心交换机为每个VLAN配置一个ip helper-address指向它的DHCP服务器的设置,以及一条dhcp relay-option 82 replace线,以便dhcp服务器知道要使用的范围。这些配置以及端点交换机上的端口配置在至少16个月内没有更改。那时我们还有其他开关和电话重置。 我们的大多数端点交换机都是HP 2530系列。这些开关似乎正常工作(3个不同的2530上的电话今天已正确重新启动)。是较旧的交换机有问题。我们有一台旧的3Com 4200和一台4210无法使用。直接连接到前面提到的核心交换机的服务电话也不起作用。 题 在这一点上,我最好的猜测是dhcp服务器上的Windows更新更改了该行为,但我看不到如何。或者核心交换机可能无法正确处理该REQUEST数据包,但我确定在那里没有任何更改,并且它也无法解释为什么仅某些端点交换机会受到影响。我该如何解决这个问题? 更新: 这是故障电话的dhcp日志摘录: 10,03 / 06 / 15,12:40:40,Assign,10.1.2.158,,08000F197844,,3189088995,0 ,,, 11,03 / 06 …

1
HTTP(S)URL的主机名部分是否区分大小写?
使用http(s)://CompanyName.com/xyz作为URL(例如,用于品牌宣传)而不更改服务端配置是否安全? 我知道DNS不区分大小写,但是还会有副作用吗?我在想,例如链的各个部分都无法匹配CompanyName.com〜companyname.com: 某些Web后端可能不匹配 某些负载平衡器/代理/缓存/应用程序层防火墙可能无法匹配 某些客户端可能错误地应用了同源策略 某些客户端可能在证书检查中不匹配 虽然DNS通常不区分大小写,但IDN是否可以更改图片? 任何人在URL的主机名部分遇到大写字母的那些或其他问题吗? [edit] @Michael Hampton指出,根据HTTP标准,主机名不区分大小写,但是某些软件在这方面不兼容。 我试图了解不兼容软件的流行程度,尤其是客户端。我认为最近使用的所有主流浏览器都可以,但是例如移动应用程序呢?(我最好将其分解为一个单独的SF问题吗?)[/ edit]

6
除端口80之外,阻塞美国境外的所有连接是否会导致较高的服务器负载?
像大多数服务器(我认为)一样,我们有一些人试图以24/7全天候暴力破解我们的服务。我已经将cpHulk列入了他们的IP的黑名单,但是如果他们没有做到这一点,那似乎会更好。我和我的主机是唯一通过80以外的端口连接到服务器的主机,因此我想阻止除端口80之外的美国以外所有其他国家/地区的连接。我与我的主机联系以进行设置,但是他们犹豫不决,因为他们说这会产生异常高的服务器负载。这是一台专用的Xeon 1230服务器,具有32GB RAM,运行CentOS 6.6和iptables。 首先,有什么理由不这样做?其次,房东告诉我的内容正确吗?第三,有什么方法可以在不影响性能的情况下完成此任务?
16 iptables 

3
有没有安全的方法来存储脚本用于ssh的密码?
所以首先,我知道,我应该对SSH使用密钥身份验证。无需向我解释。 这里的问题是我有一堆(大)服务器,并且我需要有一个脚本来连接每个服务器。 我会尽可能使用密钥认证,但是不可能在每台服务器上都使用(我对此没有控制权)。因此,使用SSH进行登录,或者有时进行telnet。 因此,对于某些人,我只是将密码存储在数据库中,而我的脚本会在需要时使用它。问题是,这样做似乎并不安全。有没有办法使它更安全些? 喜欢一些特定的存储方式吗?

5
如何减少AWS EBS根卷大小?
扩大EC2实例就像呼吸一样容易(例如,创建AMI,从中启动实例,然后更改存储大小)。 但是减少它变得更加困难。我想减小Amazon Web Services(AWS)EC2实例弹性块存储(EBS)根卷的大小。网上有几个旧的高级过程。我发现的更详细的版本是关于StackOverflow问题的一年之久的答案:如何减少ebs卷容量,步骤具有相当高的水平: 创建一个所需大小的新EBS卷(例如/ dev / xvdg) 启动实例,并将两个EBS卷都附加到该实例 检查(原始根卷的)文件系统:(例如)e2fsck -f / dev / xvda1 最大收缩原始根卷:(例如ext2 / 3/4)resize2fs -M -p / dev / xvda1 用dd复制数据: 选择块大小(我喜欢16MB) 计算块数(使用resize2fs输出中的块数):块* 4 /(chunk_size_in_mb * 1024)-为安全起见 复制数据:(例如)dd if = / dev / xvda1 ibs = 16M of = / dev / xvdg obs = 16M …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.