服务器管理员

系统和网络管理员的问答

1
在CentOS 7上使用IPv6获取Squid和TPROXY
我在让TPROXY在CentOS 7服务器上使用Squid和IPv6时遇到麻烦。我以前使用的是带有NAT的通用拦截设置,但仅限于IPv4。我现在正在扩展设置,使其包含带有TPROXY的IPv6。 我一直在使用有关该主题的官方Squid Wiki文章来配置所有内容: http://wiki.squid-cache.org/Features/Tproxy4 到目前为止,TPROXY配置似乎可以正常用于IPv4。但是,使用IPv6时,连接超时,无法正常工作。我将分解设置以便更好地理解。 请注意,所有防火墙和路由规则对于IPv4都是完全相同的,唯一的区别是在下面的示例中inet6以及ip6tables用于配置基于IPv6的规则。 操作系统和内核:CentOS 7(3.10.0-229.14.1.el7.x86_64) 根据yum,所有软件包都是最新的 鱿鱼版:3.3.8(也尝试过3.5.9) 防火墙:iptables / ip6tables 1.4.21 libcap-2.22-8.el7.x86_64 目前,IPv6连接是通过Hurricane Electric通过6in4隧道进行的,该连接在DD-WRT路由器上进行配置,然后将分配的前缀通过委派给客户端radvd。Squid框配置了多个静态IPv6地址。 Squid框位于它所服务的主LAN内。在端口80上被拦截的客户端(主要是无线客户端)通过具有以下防火墙和路由规则的DD-WRT路由器,通过我的DD-WRT路由器被推送到Squid框,这些规则和规则来自于Policy Routing Wiki文章和DD-WRT Wiki http://wiki.squid-cache.org/ConfigExamples/Intercept/IptablesPolicyRoute http://www.dd-wrt.com/wiki/index.php/Squid_Transparent_Proxy ip6tables -t mangle -A PREROUTING -i "$CLIENTIFACE" -s "$PROXY_IPV6" -p tcp --dport 80 -j ACCEPT ip6tables -t mangle -A PREROUTING -i "$CLIENTIFACE" -p tcp --dport 80 …

2
为什么需要RFC 7505(Null MX)?
IETF RFC 7505描述了明确不应该接收电子邮件的域/主机的MX记录。这是通过将MX指向域名系统根目录来实现的。例如, nomail.example.com. 86400 IN MX 0 "." 为什么需要这个?以我的理解,可以通过使用TLD下的域来进行明确驳斥invalid。例如, nomail.example.com. 86400 IN MX 0 "spam.invalid." nomail.example.com. 86400 IN MX 10 "null.invalid." 我看到RFC 2782 DNS SRV同样指定了“目标”。表示该服务肯定在该域不可用。” 所以我想我的问题是: 当invalid已经提供此功能时,为什么要使用DNS根表示“不可用” ?


1
用户不小心弄乱了Robocopy命令,并导致创建了一些文件夹,但它们的安全性已损坏
我们有一个用户运行robocopy命令来复制一些文件,但是不幸的是,该用户不小心弄乱了语法。 就像是: robocopy "\\server1\share\Accounting" \\server1\share\NewAccounting" /E /X /COPYALL /TEE 在目标目录上没有正确引号的结果最终使rocobopy目标陷入困境,如下所示: Started : Tue May 05 12:30:00 2015 Source : \\server1\share\Accounting Dest : \\server1\share\NewAccounting \E \X \COPYALL \TEE\ Files : *.* 最终将创建所有没有NTFS安全性的新文件夹“ E”,“ X”,“ COPYALL”,“ TEE”。 文件夹安全性选项卡显示“请求的安全性信息不可用或无法显示。” 并且您无法通过Windows资源管理器或常规命令行删除文件夹。 该服务器恰好是EMC Celerra CIFS服务器。 有什么想法如何清理并删除无效的新目的地吗?

2
iptables规则集,以便docker容器可以访问主机IP上的服务
我无法从Docker容器访问主机专用接口(ip)。我相当确定它与我的Iptables规则(或路由)有关。当我将--net=host标志添加到时docker run,一切都会按预期进行。同样,当我指定INPUT策略遵循Liberal时-P INPUT ACCEPT,事情也会按我期望的那样工作。但是,这些都是我要避免的不理想和不安全的选择。 由于它不特定于我的服务(DNS),因此已将其排除在问题之外,因为与docker结合进行搜索会在另一个(受欢迎的)问题区域中产生结果,从而给搜索结果增加了噪音。 另外,链接Docker容器也不是一个可行的选择,因为某些容器需要使用--net = host选项运行,从而阻止了链接,我想在可能的情况下创建一致的情况。 我有以下Iptables规则。我假设结合了CoreOS,Digital Ocean和Docker。 -P INPUT DROP -P FORWARD ACCEPT -P OUTPUT ACCEPT -N DOCKER -A INPUT -i lo -j ACCEPT -A INPUT -i eth1 -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j …
18 iptables  docker 

2
为什么CPU在IO(wa)上花费时间?
我知道wa(中top)衡量等待I / O时的CPU时间。许多文章都这么说。 但是基于两个知识点,我感到困惑: 如果某个进程使用系统调用读取磁盘,则该进程将被阻止。 如果某个进程被阻止,则无法安排该进程在CPU上运行。 对? 似乎没有时间让CPU等待I / O ...会发生什么? 如果推荐一些书或文章供我进一步阅读,那就更好了。

3
SSH可以通过子网配置错误的服务器访问服务器吗?
我们有一台服务器,其中一位工程师错误地配置了子网,现在我们被锁定在该服务器之外,而我所知道的唯一可以使用的访问权限是IDC的串行控制台(这意味着请IDC工程师来帮助我们) 。 什么是配置错误: address 192.168.1.9 # Original address there was netmask 255.255.255.254 # Misconfigured, originally should've been .240 出于好奇-是否可以避免调用IDC并以某种方式通过SSH连接到此主机(然后我们可以修复配置)?


2
在CentOS上增加ulimit
我们有一个CentOS框,我试图增加用户可以打开的最大文件数。目前,当我跑步时,ulimit -Sn我得到1024并ulimit -Hn给予4096。我需要大约6000的数字。 在/etc/sysctl.conf我已经设定fs.file-max = 100000。在/etc/security/limits.conf我有以下设置: username soft nofile 6000 username hard nofile 65535 我已经注销并重新登录为,username但是仍然看不到我的更改。我需要什么来更改此值? 我所拥有的/etc/security/limits.d是90-nproc.conf。我还确保不会在.bash_profile或.bashrc中调用ulimit。 运行时,sysctl -p它吐出我想要的设置,并显示我想要的值fs.file-max。但是当我跑步时ulimit -Sn,我得到1048。如果我尝试跑步,sysctl --system我得到error: Unknown parameter "--system"。
18 centos  ulimit 

3
ZFS-RAIDZ-1真的那么糟糕吗?
我有一个带有RAID10配置(可用4TB)的4个2TB WD RE4-GP驱动器的NAS服务器。我的空间不足(剩余的可用空间不足1TB)。我有0美元可以花在更大/更多的驱动器/机箱上。 我喜欢我读到的有关ZFS数据完整性功能的知识,这些知识本身就足以让我从现有的XFS(软件)RAID10切换。然后,我了解了ZFS对RAID5的出色实现,因此我认为使用RAIDZ-1甚至可以讨价还价获得多达2TB的可用空间。 不过,我一直在读更多和更 帖子说差不多,只是从不使用RAIDZ-1。只有RAIDZ-2 +足以应付“实际”驱动器故障。当然,就我而言,RAIDZ-2没有任何意义。最好在单个池(RAID10)中使用两个镜像的vdev。 我是否想为4个2TB驱动器使用RAIDZ-1疯狂吗? 我是否应该仅使用两个镜像vdev(基本上为RAID10)的池,并希望压缩为我提供足够的额外空间? 无论哪种方式,我都计划使用压缩。我只有8GB的RAM(已满),因此,不能选择dedup。 这将在FreeNAS服务器上(即将替换当前的Ubuntu OS),以避免ZFS-on-Linux的稳定性问题。
18 zfs  freenas  raidz 

6
iptable规则重复
我有这个iptable规则: -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -N fail2ban-ssh -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp …
18 ubuntu  iptables 

3
是否在VMWare快照中永久运行会降低性能?
我了解VMWare KB对长时间运行的快照不满意,主要是由于两件事(我认为) 拍摄大量快照可以填充数据存储。快照只是增量文件。假设您有一个50 Gig VMDK,快满了,然后进行快照。在快照中,您每翻转一次。您的增量文件也将约为50 GB。再次快照,翻转位,另一个50 Gig增量文件。这些会很快失去控制。 提交大快照会带来风险。合并快照时,您会将增量更改写入原始VMDK。这需要花费时间,并且冒着发生某些事情的风险,即您只是破坏了VMDK。 他们的警告似乎合乎逻辑。 话虽这么说,从快照VMDK永久运行我的机器固有地不好吗?我要使我的树如下: 基础 快照1 快照2 你在这里 安装和配置基本系统后,将立即执行Snap 1和Snap 2。这些是我计划经常刷新的机器,因此我将使树看起来像下面这样: 基础 快照1 你在这里 快照2 删除Snap2并重新创建Snap2。 由于以下原因,我看不到这可能有什么影响: 由于我只是安装了一个基本映像并在没有办法填充数据存储区后立即获取了增量数据。假设我的基本映像只有10 GB(在50 GB精简配置的磁盘上),即使我的增量每翻转一位,我的总使用量就可能是60 GB(10 GB基本VMDK已锁定+ 50 GB的增量)快照VMDK文件)。假设我没有再创建任何快照。 由于我的用例不要求合并快照,因此在合并增量时不会冒错误的风险。当我回到Snap1并删除Snap2时,驻留在Snap2中的所有增量都将被删除。 存储负载完全相同,因此我应该获得相同的IOPS。我知道某些文件(主要是系统文件)将在原始VMDK上存在,而其他文件(所有在基数之后的文件)将驻留在增量中,但我看不到ESXI会如何处理。所有文件都位于同一物理数据存储上,因此性能应等同于引用原始VMDK中没有快照的所有内容。 有什么想法吗?ESXI 5.5,数据存储为RAID DAS。 我没有vCenter许可证,因此无法进行模板和克隆。 测试结果 我今天早上开始进行一些测试。这是结果。有性能损失,但我不确定为什么。 快照之前: 快照后:

1
具有xfs,20个磁盘和Ceph的“大型”服务器上页面碎片的原因
任何有Linux IO系统经验的人的任何见解都会有所帮助。这是我的故事: 最近建立了一个由六个Dell PowerEdge rx720xds组成的集群,用于通过Ceph提供文件。这些机器在两个插槽上具有24个内核,并具有两个numa区域和70奇吉字节的内存。磁盘格式化为每个磁盘的RAID(否则,我们看不到直接公开磁盘的方法)。网络由IB上的mellanox infiniband IP提供(IP数据包在内核区域(而非硬件)转换为IB)。 我们将每个SAS驱动器安装如下: # cat /proc/mounts | grep osd /dev/sdm1 /var/lib/ceph/osd/ceph-90 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdj1 /var/lib/ceph/osd/ceph-87 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdu1 /var/lib/ceph/osd/ceph-99 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdd1 /var/lib/ceph/osd/ceph-82 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdk1 /var/lib/ceph/osd/ceph-88 xfs rw,noatime,attr2,inode64,noquota 0 0 /dev/sdl1 /var/lib/ceph/osd/ceph-89 xfs rw,noatime,attr2,inode64,noquota 0 0 …

2
如何部署Docker容器和关联的数据容器,包括内容?
首先,我承认我是Docker的新手,我可能是从错误的假设中解决了这个问题……让我知道是否是这种情况。我已经看到了很多关于Docker如何对部署有用的讨论,但是没有有关如何实际完成的示例。 这是我认为可行的方式: 创建数据容器以在计算机A上保存一些持久性数据 创建使用数据容器中的卷的应用程序容器 做一些工作,可能会更改数据容器中的数据 停止应用程序容器 提交并标记数据容器 将数据容器推送到(专用)存储库 在计算机B上拉并运行第6步中的图像 从您在机器B上停下来的地方接起 这里的关键步骤是步骤5,我认为这将保存当前状态(包括文件系统的内容)。然后,您可以将该状态推送到存储库,然后从其他位置将其拉出,从而为您提供一个与原始容器基本相同的新容器。 但这似乎不起作用。我发现步骤5并没有执行我认为的操作,或者步骤7(拉动并运行映像)将容器“重置”为初始状态。 我整理了一组三个Docker映像和容器来进行测试:一个数据容器,一个写程序,每30秒将一个随机字符串写到数据容器中的文件中,以及一个读取器,它简单地echo将数据中的值存储起来容器文件并退出。 资料容器 创建于 docker run \ --name datatest_data \ -v /datafolder \ myrepository:5000/datatest-data:latest Dockerfile: FROM ubuntu:trusty # make the data folder # RUN mkdir /datafolder # write something to the data file # RUN echo "no data here!" …
18 docker 

3
调试iptables和常见的防火墙陷阱?
这是一个建议的 规范问题如何了解和调试在Linux系统上的软件防火墙。 为了回应 EEAA的回答和@Shog的评论,我们需要适当的规范问答来结束有关iptables的常见相对简单问题。 有什么结构化的方法可以调试Linux软件防火墙(通常由userland接口iptables引用的netfilter数据包过滤框架)的问题? 有哪些常见的陷阱,重复出现的问题以及一些简单的或稍微晦涩难懂的内容,以检查偶尔的防火墙管理员可能会忽略或从中受益? 即使当您使用UFW,FirewallD(aka firewall-cmd),Shorewall或类似工具时,如果没有这些工具提供的抽象层,您也可以从内部查看而受益。 此问题并非旨在作为构建防火墙的方法:请查看产品文档,例如为iptables Trips&Tricks贡献配方,或搜索已标记的iptables ufw Firewalld Firewall-cmd问题,以获取现有的常见且广受好评的高分问与答。

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.