服务器管理员

系统和网络管理员的问答

2
连接不可靠的流量路由
我有一组办公室,它们通过远端的DSL链路都连接到总公司,以节省成本。(我们是非营利组织,请不要问) 从历史上看,处理远程站点的ISP和处理OpenVPN所运行的T1线路的ISP之间的链接存在明显的问题,因此这些链接经常断开。 我们的邮件服务器的公共接口位于第一提供商的网络上,因此工作正常,但是速度较慢,因为它也是DSL。 为了解决上游网络的不可靠性问题,我编写了一个脚本,该脚本简单地修改了远程站点上的DNS记录,以在隧道打开时指向内部IP,而在到主站点的VPN隧道关闭时则指向公共IP。 如何以一种更加优雅的方式做到这一点,这种方式将是瞬时的(而不是由cron驱动的脚本)并且对用户透明? 编辑:远程办公室:运行各种供应商提供的Actiontecs和Motorola以及一些带有Netgears和Linksys防火墙的Ubuntu 9.10 LTSP服务器。主办公室:几乎100%的Linux(在本例中为CentOS),带有多个Netgear FVS318 / 338系列防火墙,并为/ 27上的每个IP提供了单独的防火墙。(另一个不要问,那是在我到达这里之前)
10 vpn  routing  openvpn 

3
如何判断熵密钥何时过载?
我前面有几个带有egd的熵密钥,然后通过haproxy平衡所有负载。然后,我有许多使用haproxy服务IP作为熵网络源的客户端计算机。我不知道他们要求多少熵。 熵密钥可以产生有限量的可用熵。规范说至少约30 kbps。据我所知,熵密钥还无法查询所要求的数量。EGD协议似乎很难嗅发现该信息。客户可以请求可变数量的熵,而他们可能无法获得相同数量的熵。 有没有人找到一种简单的方法来衡量从熵密钥请求多少? 最好了解一下,以便能够计划何时需要其他密钥,并发现haywire客户。

3
Linux:读取一个文件需要多少个磁盘I / O?如何将其最小化?[重复]
这个问题已经在这里有了答案: Linux:读取一个文件需要多少个磁盘I / O?如何将其最小化? (5个答案) 5个月前关闭。 根据Facebook的Haystack上的这篇论文: “ 由于NAS设备管理目录元数据的方式,在目录中放置数千个文件效率极低,因为目录的框图太大,无法被设备有效地缓存。因此,通常需要进行10多个磁盘操作来检索目录文件。在将目录大小减少到每个目录数百个图像之后,生成的系统通常仍然需要进行3个磁盘操作来获取图像:一个将目录元数据读取到内存中,第二个将inode加载到内存中,第三个读取文件内容。 ” 我以为文件系统目录元数据和索引节点将始终由操作系统缓存在RAM中,并且读取文件通常仅需要1个磁盘IO。 那是NAS设备独有的“多磁盘IO读取单个文件”问题,还是Linux也有同样的问题? 我打算运行Linux服务器来提供图像。以任何方式可以减少磁盘IO的数量-理想情况下,确保操作系统将所有目录和inode数据缓存在RAM中,并且读取每个文件只需要不超过1个磁盘IO?


1
2.5英寸驱动器与3.5英寸驱动器
我正在寻找2.5英寸驱动器和3.5英寸驱动器之间的一些公开比较。我以为2.5英寸15k驱动器和3.5英寸15k驱动器具有相同的性能,但是最近有一些基准测试表明2.5英寸15k的速度要快得多,而10k 2.5英寸的速度与15k 3.5差不多英寸。问题在于,由于基准测试平台的完成,大多数人无法复制这些基准测试,更重要的是,它是我希望比较的基础磁盘。 基本上,使用一定数量的3.5英寸15k驱动器的大型机现在与使用相同的10k 2.5英寸驱动器的大型机的性能大致相同吗?

2
如何停止从可移动媒体(如USB驱动器)运行.exe?
我从可移动存储(如记忆棒和SD卡)运行.exe的用户遇到问题。 我正在尝试阻止从所有可移动存储中运行exe,以解决此问题,但是在“用户配置> Windows设置>安全设置>软件限制策略>其他规则”下的组策略设置下,您可以创建“路径”变量。我想对所有可移动存储使用系统变量,但不知道是否有一个有效的变量。我是否必须仔细检查并为所有可能分配给可移动介质的潜在驱动器号(从E:\到大约L:\)创建一个阻止列表,或者是否有实际可行的方法?我发现%~dp0,显然,该方法仅适用于for循环,if语句和批处理参数。 如果还有其他,更好或更可靠的措施,请告诉我。 哦,我看过AppLocker,但是我们的DC正在运行Server 2008,我相信AppLocker是Windows 7和2008 R2的一部分。如下面对答案的评论中所述,我认为Server 2008没有“拒绝执行访问”设置,因此还有其他选择吗?

1
如何配置仅针对特定发件人/服务器进行扫描的amavisd-new?
我想知道如何将amavisd-new配置为仅扫描特定客户端(IP,CIDR或主机名)或发件人的电子邮件域上的垃圾邮件。 我知道可以在收件人的邮件地址上执行此操作,但不能在发送方的邮件地址上执行此操作。甚至可以通过策略银行在收件人的IP地址上执行此操作。但是我的方法应该是独立于接收者,并且仅在发送者上中继。 我要做的是仅扫描来自Yahoo,Google,Hotmail和其他大型发件人的邮件。因此,配置应观察哪些发件人比不应该观察的发件人容易。 我知道在MTA方面更容易实现,但这不是问题的一部分,因为我已经在MTA方面找到了解决方案。我想以全新的方式来做。而且,不知道如何将发件人列入白名单也无济于事,因为这仍然意味着邮件经过了所有扫描,但是却获得很高的负面评分。除非由大型公司发送,否则根本不应该扫描邮件。 那么,amavisd-new中的哪些参数才是启用扫描特定发件人且仅针对这些发件人的正确选择?

1
NGINX将HEAD转换为GET请求
由于一些糟糕的设计决策,我们有一个应用程序无法响应HTTP HEAD请求(返回“不允许使用方法”)。修改软件以正确返回HEAD请求将很棘手,不是没有可能,但是需要额外的工作。该应用程序位于NGINX代理后面,我想知道是否有一种方法可以使NGINX将从客户端收到的HEAD请求转换为对后端的GET请求,然后丢弃响应(将报头除外)并将其发送回给客户端,就像我们的应用程序服务器能够响应HEAD请求一样。 当前配置(相当标准) upstream ourupstream{ server unix:/var/apps/sockets/ourapp.socket.thread1 server unix:/var/apps/sockets/ourapp.socket.thread2 server unix:/var/apps/sockets/ourapp.socket.thread3 [like 20 of these] } server { listen 1.2.3.4:80; server_name ourapp; access_log /var/apps/logs/ourapp.nginx.plog proxy; error_log /var/apps/logs/ourapp.nginx.elog info; gzip on; gzip_types text/plain text/html; proxy_intercept_errors on; proxy_connect_timeout 10; proxy_send_timeout 10; proxy_read_timeout 10; proxy_next_upstream error timeout; client_max_body_size 2m; error_page 404 /static/404.html; error_page …
10 nginx 

2
e-SATA端口倍增的预期性能?
对于某些读/写工作负载,我使用esata端口乘法从4磁盘阵列中获得30 MiB / s的速度。当我将完全相同的阵列移动到四个单独的sata连接时,对于相同的工作负载,我将获得90 MiB / s的速度。这是乘数的预期性能影响吗?如果不是,如何缩小软件,控制器或机箱之间的问题? 即使多年来尝试了很多变量,我也得到了完全相同的结果: 许多Linux版本(RHEL5,Fedora 9、11、13、16)以及所需的所有内核。 两种类型的机箱(均为低端100美元的4磁盘型号),总共四个机箱。 两种类型的SATA控制器芯片组(Marvell 88SE91xx和Silicon Image 3132) 四个SATA控制器(大约$ 30-$ 60 pci-x1接口卡和一个PCI,均基于FIS交换)。 三种SATA速度(1.5、3.0和6.0 Gbps) 四种类型的硬盘(三星Spinpoint F1 1TB,WD鱼子酱黑2TB,希捷酷鱼XT 3TB)。 三台计算机(我制作第一个e-sata阵列时为Athlon 3ghz + 1GB RAM,然后是Core 2 Duo + 4GB,现在是Core i5 750 + 8GB)。 那些年前,当我制作了第一个eSATA机箱时,我认为速度的降低与使用PCI(33mhz)卡,不成熟的SATA驱动程序或SATA-1.5Gbps 5400 RPM驱动器有关。但是现在有了x1 6Gbps控制器,3.0内核和6Gbps 7200rpm HDDS,仍然没有任何改变。在将其移至单独的SATA连接之前,对于该特定工作负载,我仍然获得相同的30 MiB / s。 这是所有端口乘法实现的基本限制吗?

3
从Linux到Mac的SSH转发的X11显示在一段时间后丢失
从Mac(10.7.2)登录到Linux(Ubuntu 8.04)时,ssh转发我的X11连接时遇到了一个新的令人烦恼的问题。使用ssh -X登录到远程计算机并从该Shell启动基于X11的应用程序时,我没有问题。 最近开始发生的事情是,由于转发的显示被阻止(我认为),经过一段时间(约数小时),无法从同一shell额外调用X11应用程序。例如,当尝试启动xterm时,我收到有关DISPLAY设置错误的常见消息,例如: xterm Xt错误:无法打开显示:localhost:10.0 但是,我在登录时立即启动的X11应用程序仍然运行良好,并使用了完全相同的显示(localhost:10.0),只是它早先启动了。 我打开了sshd_config中的详细日志记录,并在/var/log/auth.log文件中看到此消息,以响应失败的xterm启动尝试: sshd [22104]:通道8:打开失败:在管理上被禁止:打开失败 如果我再次将-X SSH到服务器,启动新的外壳并分配新的显示(localhost:11.0),则重复相同的过程:只要我保持打开状态(天, ),但几个小时后,我无法从该shell启动任何新的。 细节:在Ubuntu 8.04上运行的OpenSSH sshd服务器,显示已转发到运行带有默认Apple X服务器的Lion(10.7.2)的Mac。这些系统通过以太网LAN连接,并且它们之间只有一个开关。两台计算机均未运行防火墙。直到最近(几天前),该设置仍然可以正常工作,因此我对下一步的定位感到困惑。我绝不是X11或SSH专家,但具有良好的UNIX / Linux经验。尽管我尝试更改一些选项来进行调试,但客户端或服务器配置都没有明显变化,例如将sshd_config的TCPKeepAlive设置为no,并设置“ host + localhost”(您可以知道我一直在使用Google搜索)。 当从Linux 11.10便携式计算机通过同一网络登录到同一远程主机并进行切换时,不会发生此问题-可以在数小时后从同一ssh登录外壳成功调用xterm,而从Mac进行的同一实验失败(确保今天上午进行了测试),因此这似乎是Mac特有的问题。 由于在远程计算机(sshd服务器)上设置了“ LogLevel DEBUG3”,并且我没有对客户端连接进行任何更改,因此/var/log/auth.log会在一夜之间显示连接状态报告中的一个细微变化,这是使用的端口号通过来自Linux机器的一个成功的ssh会话(我认为),下面的连接#7: sshd [20173]:debug3:通道7:状态:下列连接已打开:\ r \ n#0服务器会话(t4 r0 i0 / 0 o0 / 0 fd 14/13 cfd -1)\ r \ n#3从127.0.0.1端口57564(t4 r1 i0 / 0 …
10 ssh  mac-osx  x11  display 

2
更改GPG加密密钥的密码如何工作?
我知道我可以做到(编辑:已解决;我对gpg NOT openssh感兴趣) gpg --edit-key ...更改我的密钥密码,但是我不确定这意味着什么。 如果我要在方盒A上加密数据并在方盒B上解密(例如重复),是否必须在两端都更改密码?以前的备份是否仍然有效? 密码短语只是密钥文件周围某种加密包装程序的密钥吗? 愚蠢的问题,但我不想搞砸。谢谢!

2
阻止IIS 7.5在错误代码上发送缓存控制最大年龄
我有一些Max-Age附加了缓存控制标头的静态内容,因此客户端将缓存静态内容。但是,当有错误响应建议客户端对其进行缓存时,IIS 7.5仍会发送此标头。 这具有负面影响,即某些代理随后将缓存该错误响应。我可以,Vary: Accept,Accept-Encoding但这不能真正解决Max-Age错误响应的根本问题。 当前相关的IIS web.config部分是: <configuration> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /> </staticContent> </system.webServer> </configuration> 有没有办法让我做到这一点,使我们不告诉客户或代理缓存400/500错误代码?
10 iis  http  iis-7.5  cache 

4
Windows XP EOL / EOS对企业及其领域意味着什么?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我希望有人能用简单的方式解释一下,这意味着Windows XP 的生命将终止吗? 看来SP2尚未被修补,但SP3可能要在2014年4月18日之前进行修补? 所以我认为那意味着在那之前将有Windows更新补丁可用? 此后会发生什么,根本没有补丁? 这意味着黑客,病毒等的潜能大大增加了吗?

3
Windows服务在重新启动后不会自动启动吗?
我们已经用.NET编写了一些Windows服务。它们可以在mmc服务中手动启动,但是尽管将其设置为“自动”,但是在打开(或重新引导)计算机电源时它们永远不会启动。 更新在事件日志中,没有看到“ xyz已启动”,而是看到所有其他服务都已启动,而是看到“ xyz服务已进入停止状态”。和一个单独的错误,指出“等待slsvc服务的事务响应时达到了超时(30000毫秒)”。 如果我手动启动它们,那么我将按预期在事件日志中获得一个正常条目,并且一切正常-直到下一个强制重新启动的Windows Update修补程序再次关闭了所有服务。 有任何想法吗?我尝试将它们设置为“延迟启动”,没有明显区别。
10 windows  service  .net 


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.