Articles of networking

为什么有些iptables的DNAT规则在重新启动之前不工作?

我的iptables DNAT规则不能工作,直到重新启动。 如果我重新启动我的服务器,所有的规则工作。 架构描述: 数十个主机(发送者)发送一些UDP数据包(单向的特定端口9999)到我的Linux路由器。 这个Linux路由器使用iptables将这些数据包转发给几台主机(接收器)。 senderX 10.0.0.X ====>使用iptables的Linux路由器====> receiverY 10.0.1.Y Linux路由器有两个网卡eth1 10.0.0.1/24(发送方)和eth0 10.0.1.1/24(接收方)。 iptables设置: ip_forwarding被激活 所有的默认策略都设置为ACCEPT 一个iptables规则存在每个发件人,这里是一个例子: iptables -t nat -A PREROUTING -s 10.0.0.2 -i eth1 -j DNAT – 到目的地10.0.1.123 networking设置 : ip addr show : 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo […]

识别SLAAC地址背后的个人

我们正在一个学生宿舍内运行一个IPv4networking(在以太网和Wifi上),约有200个用户,并且希望长期部署IPv6, 无状态自动configuration在单个/ 64前缀上 。 遗憾的是,提供上行链路的大学要求我们能够识别地址后面的用户。 他们目前正在运行一个防火墙,防止IPv4地址被误用(病毒等),这是一个可行的解决scheme,因为每个用户目前只有2个固定的v4地址。 我们已经有一个属于一个用户(configurationdhcpd)的所有MAC地址的列表,并希望有select地允许/阻止用户自己(networking费用支付,不正当行为等)。 在我第一次testingRaspberry Pi运行radvd时,我发现大多数连接的设备都启用了隐私扩展function,使得上行链路提供商无法阻止运行不当的IPv6地址的时间长于其有效时间。 到目前为止,我只看到几个select: 跟踪路由器上的邻居发现,并实时创build防火墙白名单条目。 以某种方式向上行链路提供商提供API以阻止给定IP的用户。 (高努力) 不允许使用隐私扩展程序,并阻止所有IP,而不使用..ff:fe .. 为上行链路提供商添加一个自定义的IPv6扩展头,包括一个唯一的用户ID,这样他们就可以通过匹配一个IPv6头域来阻塞整个用户。 有没有使用现有的软件相当简单的解决scheme? 我们是否应该改变计划,改用DHCPv6(据说工作不如SLAAC)? 我已经想过要求一个更大的子网(/ 48),并给每个用户一个单独的/ 64,但是这需要一个有200个前缀的大型radvd.conf(+大概200个VLAN)和单播RA每小时改变几次据我所见。

如何在上线前testingconfiguration更改?

我是一名学生志愿者,帮助维护一个小型网站的Web服务器以及其他一些学生。 这是一个运行在Ubuntu 12.04上的非常标准的LAMP服务器,主要托pipe基于PHP的站点。 最近有很多次我们希望做一个小的configuration更改,最多需要几分钟 – 例如,更改某些网站文件的权限以提高安全性,更新SSL证书,稍作修改configuration文件等 – 并意外地搞砸了整个网站的地方。 之后通常会导致15分钟左右的疯狂,试图让网站重新恢复。 幸运的是,几分钟的停机时间并不是世界末日,因为它是一个小型的非商业网站。 但是,我认为,搞乱一些不易修复的事情只是时间问题,可能会导致一些非常严重的问题。 当然,我们也有备份服务器和辅助服务器,但恢复这些备份仍然需要很长时间。 所以这里是我想知道的问题:是否有一个好的方法来testingconfiguration更改才能在服务器上运行? 我考虑设置一个与主服务器configuration完全相同的辅助服务器,以便可以在辅助服务器上首先执行/testing命令,但是我认为确保两台服务器始终同步会变得非常烦人。 有没有更好的方法来做到这一点,缺乏虚拟化和快照工作?

从SAN提供共享的文件级存储

我想就我正在build立的系统得到一些build议。 我不太确定要继续。 目标仅仅是由我们的SAN烘焙的一些基本的用户存储空间(客户端是Linux,Windows和Mac)。 我们有一个支持iSCSI的〜20TB SAN。 这连接到configuration了高可用性function的小型VMWare ESXi 5.5群集。 还有一些其他裸机可能在需要时可以用作主机。 我一直在试图做我的研究,以找出最好的方法去..我最初的计划只是把一些像FreeNAS虚拟机,但进一步检查似乎不是一个好主意。 特别是在ESXi上 。 所以,我想我的问题,有没有人有任何build议,从块级存储设备提供文件级存储? 我假设我将不得不设置一个盒子作为iSCSI启动器,然后使用NFS或SMB等共享磁盘。我只是不知道是否有最佳做法,我应该在这里考虑。 我之前已经设置了分享等,但不是在这种types的环境中。 任何帮助表示赞赏。 谢谢!

我的冗余networking设置可以做得更强大吗?

使用我目前的devise,我有一台运行ESXi的DL380 Gen9。 它具有连接到两个不同交换机的冗余NIC。 这些交换机又连接到第三个交换机,使我的工作站连接。 到目前为止,我的testing显示如下。 如果电缆C被拔掉,主机仍然可用。 如果电缆D被拔掉,主机仍然可用。 如果M4100-50G中的任何一个断电,主机仍然可用。 如果电缆A被拔掉,主机不再可用。 电缆B还没有经过testing。 目前的硬件是否有任何方法可以使故障电缆A仍能让DL380进入工作站?

DNAT端口范围与Iptables不同的内部端口范围

将单个端口DNATing到内部networking上不同端口的标准方式是这样的: ip(6)tables -t nat -A PREROUTING -i wan0 -p tcp –dport 80 –to-destination 10.0.0.1:8080 如果你需要一个端口范围,你可以使用-m multiport和–dports这样的-m multiport : ip(6)tables -t nat -A PREROUTING -i wan0 -p tcp -m multiport –dports 1000:2000 –to-destination 10.0.0.1 现在我想知道,如果你可以结合这两种技术来映射一个端口范围(例如1000-2000)不同的大小相同(例如12000-13000)。 这是可能的,使用内核不晚于Linux 4.1的内核?

Azure虚拟机无法为网站提供服务

我无法使运行Windows Server 2012的Azure虚拟机从它的公共静态IP提供IIS默认网站。 创build了运行Win Server 2012 R2的虚拟机,并安装了Web服务器angular色。 浏览到本地主机,可以看到默认的网站正在工作 在Azure中,将虚拟机configuration为具有公共静态IP地址,并将DNS名称添加到公开parsing为静态IP的azure。 在Azure中,为VMnetworking接口configuration了一个安全组,并添加了以下规则: allow-http source: any source port: 80 dest: any dest port: 80 service: tcp/80 action: allow allow-https source: any source port: 80 dest: any dest port: 80 service: tcp/443 action: allow 在Windows防火墙设置中,确保启用允许HTTP和HTTPS通信的规则。 (我也尝试完全禁用防火墙)。 在IIS中确保默认网站绑定到任何IP地址。 当我尝试连接到虚拟机静态IP地址,例如: http://MY.PUBLIC.STATIC.IP ,我http://MY.PUBLIC.STATIC.IP无法连接。 我也无法PING服务器。 任何想法,我做错了什么?

从networking请求(局域网唤醒)自动启动AWS EC2实例

我想按需启动一个EC2实例,并在闲置一段时间(例如,没有networking活动时间大于1小时)时将其closures,但我不能说出一个标准的方式在AWS中这样做看起来像,因为AWS不支持唤醒LAN。 我打算运行的服务将需要持久的networking连接,例如ssh。 我所瞄准的用户体验如下所示: 如果服务在用户尝试连接时启动,用户可以立即访问该服务。 如果服务在用户尝试连接时closures,则用户收到“服务正在启动”的回复(并且连接已closures)。 用户在几分钟后重试并成功连接(或者如果他重试太早,则再次收到“开始”消息)。 在最后一次用户断开连接后,服务将保持长达一个小时。 我的动机主要是节约成本。 这种需求将是非常难以预测的(所以计划的实例并不适合),可能不到12小时/天,而且用户愿意等待几分钟才能启动服务。 而且我不想用保留的实例定价来locking1年以上的期限。 我也有一些野蛮刺我怎么可能做到这一点,并会感谢他们是多么合理/明智的反馈: 使用一个自动缩放组,“缩放”服务从0到最多1个实例。 但是我不知道如果没有实例运行,我将能够发出“服务正在开始”的回复。 运行一个t2.micro实例,当服务closures,其唯一目的是捕获连接尝试,发出“启动”回复,触发启动实际的服务实例,然后死亡。 当服务实例由于不活动而closures时,需要再次启动t2.micro实例。 谢谢!

SAN – NFS和CIFS

我是一名应用程序开发人员,对存储和SAN技术非常新颖,所以这是一个非常基本的问题。 最近我有要求在Linux和Windows上安装公共存储共享。 我向我公司的几位存储人员询问如何做到这一点,得到了一些不同的反应。 我知道使用Samba NFS共享可以在Windows上访问。 这是我的问题。 我们使用Netapp存储arrays,Can SAN创buildNFS或CIFS共享,我以为SAN提供原始存储(如物理硬盘),操作系统会在其上安装文件系统。 如何为Windows用户设置一个通用的共享和控制权限

测量40Gbe的性能

我通过40Gbe光纤链路连接了两台主机,并希望确定它们之间数据传输的基准。 我看到相对较低的速度(约620MB /秒)。 似乎信号传输速率较低,实际上可能是5Gb / s(这与我所看到的一致),但我对光纤知之甚less(而且还在不稳固的地面上)。 我的设置如下: 在每个节点上的40Gbe接口上的ethtool输出摘录 Speed: 40000Mb/s Duplex: Full Port: FIBRE 在一台主机上运行UDP接收器(10.0.0.2) nc -vv -u -l 2222 > /dev/null 和另一个寄件人 time dd if=/dev/zero count=10000 bs=1500k | nc -u 10.0.0.2 2222 导致速度在650MB / s左右。 不同的块大小差异很小。 如果有人能指出我的做法或想法是否错误,我将非常感激(我在这方面非常绿色,维基页面和制造商文档对我来说有点不透明)。