服务器管理员

系统和网络管理员的问答

1
/ proc / sys / fs / file-max的默认值
我知道/ proc / sys / fs / file-max定义了打开文件描述符的最大数量,可以在运行时或引导期间进行设置。 但是:它的默认值是多少?检查我公司的10台服务器会给我7个不同的值,这些值似乎都是随机的。 内核文档只提到了可以更改的值,但是没有更改默认值的计算方式。 谁知道默认值是如何确定的?

2
这个变量转义在systemd单位文件中如何工作?
对于CoreOS上运行的服务器实例,我有一个非常简单的单位文件,可用于发现伙伴服务。单位文件如下所示: [Unit] Description=Discovery for frontend server (instance %i) BindsTo=frontend@%i.service After=frontend@%i.service [Service] EnvironmentFile=/etc/environment ExecStart=/usr/bin/bash -c ' \ while true; do \ export PORT=$(docker port frontend%i 80 | sed s/.*://); \ etcdctl set /services/frontend/%i "${COREOS_PRIVATE_IPV4}:$PORT" --ttl 60; \ sleep 45; \ done' ExecStop=/usr/bin/etcdctl rm /services/frontend/%i [X-Fleet] MachineOf=frontend@%i.service 效果很好,但是花了我很多时间才能进入此阶段,因为如果我将其更改为etcdctl: etcdctl set /services/frontend/%i "${COREOS_PRIVATE_IPV4}:${PORT}" …
9 bash  systemd  coreos 

2
备份正在运行的KVM qcow2 VPS
我想要一种健壮的方法来在运行时备份qcow2文件的KVM VPS。搜索很长时间后,我发现我们可以使用rsync进行实时备份。我对rsync使用了以下命令: rsync -avh /vms/base.qcow2 /backup/backup.qcow2 它工作正常。但是,如果由于写入和删除操作(例如,安装新软件或更新)而更改VPS时进行备份,恐怕它可能会损坏备份qcow2映像。 因此,从实时VPS快照进行备份似乎是更有趣的选择。 我使用以下命令来备份正在运行的VPS: 1.创建快照: qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow2 2.以原始图像格式(.img)转换快照: qemu-img convert -O raw snapshot.qcow2 /backup/backup.img 恢复VPS: 3.在qcow2图像中转换原始图像: qemu-img convert -O qcow2 /backup/backup.img base.qcow2 然后我们可以通过virsh create base.xml命令启动VPS 。 即使此方法也可以完美运行,我仍然不确定这是否是备份运行VPS的正确方法。我在这里和这里找到关于qemu-img命令的不错的文档。但是他们没有提及有关在原始图像中转换实时VPS快照的任何内容。 哪种方法更适合实时VPS备份?在原始图像中转换快照是否安全? 如果我能获得有关快照和基本文件在特定条件下的行为的详细文档,这将非常有帮助。 也许我们也可以将基本的qcow2映像转换为原始备份文件,而不是转换快照。因此命令流将为: 1.创建快照 2.将基本qcow2转换为备份原始映像 3.将快照更改提交到基本映像 4.删除快照 我尝试了一下,在5GB的小型VPS上效果很好。但是,当VPS很大时,是否有可能发生错误或VPS损坏? 提前致谢...

2
如何防止Windows Server将域控制器的外部IP地址添加到DNS中?
在我的一个域控制器上,有两个网络接口-一个具有IPv4和IPv6地址的外部接口和一个具有10.xxx地址的内部接口。 域控制器安装了RRAS(与Azure进行VPN站点到站点),DNS和DHCP。它与位于Azure VM中的第二个DC复制。 由于某种原因,服务器会自动为所有三个IP地址添加DNS条目。如果我删除两个公开的,则过一会儿再回来。网络连接属性未选择“在DNS中注册此连接的地址”。 我遇到的问题是,由于AD复制试图连接到错误的IP(说明RPC服务器不可用),因此它会中断。如果删除错误的地址后手动启动复制,复制将成功完成。 如何防止服务器在DNS中注册外部地址?

1
QEMU多端口转发
我想转发多个端口。 此命令运行我的VM并成功转发RDP端口: qemu-system-i386 -net nic,model=rtl8139 -net user,hostfwd=tcp::3389-:3389 -m 512M -localtime -cpu core2duo,+nx -smp 2 -usbdevice tablet -k en-us -hda win.img -nographic 尝试了其他命令,但是没有运气,它们似乎都很糟糕: qemu-system-i386 -net nic,model=rtl8139 -m 512M -localtime -cpu core2duo,+nx -smp 2 -usbdevice tablet -k en-us -hda win.img -nographic -redir tcp:443::443,tcp:992::992,tcp:1194::1194,tcp:5555::5555,udp:1194::1194,udp:500::500,udp:4500::4500,tcp:3389::3389 qemu-system-i386 -net nic,model=rtl8139 -net user,hostfwd=tcp::3389-:3389,tcp:443::443,tcp:992::992,tcp:1194::1194,tcp:5555::5555,udp:1194::1194,udp:500::500,udp:4500::4500 -m 512M -localtime -cpu …


2
服务器上的错误400:环境必须是纯字母数字形式,而不是'puppet-ca'
我想分享这个错误,因为我为此浪费了一天。所以我认为我可能对其他人有用 我的基础架构团队同事设置了一个伪造的服务器。它们为我提供了另一个窗口2008 r2,可以自己安装木偶代理。 我尝试运行人偶代理,并且始终显示消息 服务器上的错误400:环境必须是纯字母数字,而不是'puppet-ca'

4
网络名称空间中的iptables LOG规则
我正在尝试为Docker容器设置iptables规则。我正在使用nsenter在容器的网络名称空间内执行iptables命令: # log access to port 8080 PID=$(docker inspect --format "{{.State.Pid}}" $ID) /home/ubuntu/nsenter -n -t $PID iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 8080 -j LOG 除LOG规则外,此方法非常有效。那些似乎不在任何地方记录。请注意,适用于主机系统的相同规则适用并登录到/var/log/kern.log。 在哪里可以找到这些日志规则的输出?这是网络名称空间的已知问题/限制吗?

4
如何为apache和nginx服务的所有404页添加无缓存标题?
切换到Cloudflare后,我最近遇到了一个问题,解决方案是基本上停止Cloudflare缓存404响应。 在我们的负载均衡的多服务器设置中,偶尔会出现404错误,但它们会通过rsync(通过lsyncd)快速修复。在Cloudflare之前,随着rsync的工作,对404ed文件的重新请求很快就会变成200。 但是,由于Cloudflare基于缓存标头缓存所有数据,而apache和nginx均未发送404的不缓存标头,因此Cloudflare最终将404响应缓存了一段时间。 我一直在寻找一种解决方案,以便在apache和nginx中(全局地,对于所有托管域)为404s全局添加这样的标头,但到目前为止,它还是空白。 有人可以帮忙吗? 谢谢。

7
访问被拒绝尝试启用或取消屏蔽firewalld
我的防火墙当前未激活。 systemctl status firewalld firewalld.service Loaded: masked (/dev/null) Active: inactive (dead) 我使用以下命令启用防火墙 # systemctl unmask firewalld 但是我得到了这个错误: # systemctl unmask firewalld Failed to issue method call: Access denied # sudo systemctl restart firewalld Failed to issue method call: Unit firewalld.service failed to load: No such file or directory. # sudo …

2
Postfix:根据发件人:邮件头而不是信封发件人选择中继主机
我已经成功地将Postfix设置为使用SASL和sender_dependent_relayhost_mapsMySQL表通过Mandrill中继电子邮件,以便不同的发件人使用自己的Mandrill用户名和API密钥连接到Mandrill。 到目前为止,还不错,但是我有三个用户都使用电子邮件服务提供商,并且所有三个用户的邮件信封中的“发件人”都设置为“ mailer@infusionmail.com”,并且唯一包含实际用户电子邮件的位置地址在发件人:电子邮件标题中。 我对使用“ 发件人:”电子邮件标头的安全性(或缺乏安全性)感到满意,因为我仅将发送的邮件转发到受到严格控制的特定电子邮件地址,但是我非常感谢能提供有关我的建议最好根据From:标头的值指定中继主机。有什么方法可以将信封值设置为与“发件人”字段相同?或任何其他方式做到这一点?

2
即使我知道密码也无法解密私钥
我认为我的问题归结为一个事实,那就是密钥有问题,但是我不能仅仅解密它就解密,以供进一步研究,而无需对其进行解析。但我不确定。 我正在尝试使用标准方法: openssl rsa -in ./id_rsa -out ./id_rsa.decrypted 我想我知道密码短语,因为当我输入错密码时,我会得到: Enter pass phrase for ./id_rsa: unable to load Private Key 140256774473360:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:544: 140256774473360:error:0906A065:PEM routines:PEM_do_header:bad decrypt:pem_lib.c:483 “ 坏解密 ”非常清楚。现在,当我输入看似好的密码短语时,我会回来: Enter pass phrase for ./id_rsa: unable to load Private Key 139662870623888:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:153: 139662870623888:error:0D068066:asn1 encoding routines:ASN1_CHECK_TLEN:bad object header:tasn_dec.c:1314: 139662870623888:error:0D07803A:asn1 …

4
无法重新启动nginx,bind()失败(98:地址已在使用中)
我知道此主题以各种不同的形式存在,但是我无法解决自己的问题。如果我运行service nginx restart,nginx失败,并显示以下日志: 2015/03/14 08:36:42 [emerg] 9400#0: bind() to 0.0.0.0:80 failed (98: Address already in use) 2015/03/14 08:36:42 [emerg] 9400#0: bind() to 0.0.0.0:80 failed (98: Address already in use) 2015/03/14 08:36:42 [emerg] 9400#0: bind() to 0.0.0.0:80 failed (98: Address already in use) 2015/03/14 08:36:42 [emerg] 9400#0: bind() to 0.0.0.0:80 failed …
9 ubuntu  nginx 

2
解析未送达的邮件头(退回的邮件)
解析发送回我的服务器的退回(无法交付)电子邮件的标头并确定是软退还是硬退的最佳方法是什么? 我只会向用户发送选择接收的电子邮件,但有时某些电子邮件地址会过时。当电子邮件退回我的服务器时,我想找到为什么退回(软/硬)。然后,我可以在数据库中对其进行适当处理和/或标记用户在下次登录时更新其电子邮件。 我正在使用Ubuntu和Postfix。我已经成功实现了具有别名和虚拟别名的VERP。因此,退回的电子邮件的返回路径为bounce+OrigEmailAddress@example.com,我可以将其通过管道传递到脚本。 现在,我已经设置了VERP,我知道原始电子邮件是发送给谁的,但是我需要解析返回的邮件标头,以判断是软反弹还是硬反弹。 处理此问题的最佳方法是什么?据我了解,并非所有邮件服务器都遵循相同的规则,并且标头可以具有多种格式。是否有一些开源项目可以跟踪这些类型的事情?我可以实现一些简单的方法,将大多数反弹正确分类吗? 我正在尝试保护邮件服务器的声誉,因此非常感谢您的帮助!

4
修复IIS代字号漏洞
我们的IIS服务器之一(IIS 7.5,Server 2008 R2)显然很容易受到波浪号短文件名公开问题的影响。 但是,我很难解决这个问题。到目前为止,我已经 禁用8.3文件名,停止Web服务器,重新创建站点目录并再次启动服务 在URL中为波浪号添加了过滤规则: 为波浪号ANYWHERE添加了过滤规则: IISRESET 一些时间 检查web.config是否添加了相关的过滤规则 ..但仍然无法让我的网站通过测试: java -jar ~/temp/IIS-ShortName-Scanner-master/IIS_shortname_scanner.jar http://www.example.com [...SNIP...] Testing request method: "TRACE" with magic part: "/webresource.axd" ... Testing request method: "DEBUG" with magic part: "" ... Testing request method: "OPTIONS" with magic part: "" ... Testing request method: "GET" with magic …
9 security  iis 

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.