Articles of linux networking

在VLAN中注入虚拟机之间的延迟

我们想模拟在公有云上使用虚拟机的本地化的影响(比如AWS EC2)。 为此,我们希望在数据包中注入延迟,以便我们可以模拟特定的networking拓扑。 假设有三个虚拟机:A,B,C | A | <- 5 μs delay -> B | <—- 25 μs delay —-> C 我们怎样才能最轻松地为A和B之间的连接注入5μs的延迟(或任意值),而A和C之间的延迟为25μs? 任何解决scheme赞赏(每个虚拟机上的Linux内核级别更改/创build覆盖networking/ …)。

如何将虚拟机放置在DMZ中?

我有一台运行KVM的虚拟机的Ubuntu 12.04服务器。 我想在互联网上公开一些这些虚拟机,以使客户可以testing我们正在开发的产品,并提供用于演示目的的其他产品。 其中一个服务器网卡configuration了公共IP。 但是,在暴露networking上的任何东西之前,我想确定如果其中一台虚拟机受到攻击,攻击者就无法到达其他主机。 我想要做的就是把这些虚拟机放到DMZ中 。 这些是我打算做的步骤: 在虚拟化主机中创build一个tap接口(假设tap1 ) 使用tap1创build一个网桥,并为其分配一个独立于其他主机的子网。 比方说10.0.0.1 将DMZ虚拟机连接到网桥并静态configuration其IP(10.0.0.2,10.0.0.3等) 使用UFW, 禁止从10.0.0.0/24到任何内部主机的任何stream量, 允许来自内部主机的stream量朝向10.0.0.0/24,并使用端口转发来暴露Web上的虚拟机。 你认为这个设置是安全的吗? 你能提出任何改进或更好/更安全的方法吗?

在Linux中,如何在启动时根据其IPv4地址自动分配IPv6地址?

在CentOS 6机器上,我有一个服务器有2个网卡,eth0和eth1。 eth0的地址是192.168.0.1。 我想创build一个脚本来分析eth0的IP地址,并在启动的时候为eth1分配一个类似的IPv6地址。 在这种情况下,我想eth1有地址fc00 :: 192:168:0:1/64。 我知道,为了分配这个地址,我必须运行命令 ip address add fc00::192:168:0:1/64 dev eth1 不过,我试图find一种方法来计算基于eth0的IP分配给eth1的IP,并让此脚本在启动时运行。 我这样做的原因,而不是静态分配给这两个接口的地址是我试图把这个服务器变成一个虚拟机模板,并自动部署它与新的IP设置。 不幸的是,我正在使用的工具并没有真正支持IPv6。 所以我想我的问题有两个部分: 如何计算要分配的IPv6地址? 如何在启动时计算并分配给eth1这个地址?

如何获得IPv6的工作?

我的托pipe服务提供商提供了以下信息: 子网:2a02:f99:0:64 :: / 64 网关:2a02:f99:0:64 :: 1 所以我做了(是的, eth3是正确的界面) ip addr add 2a02:f99:0:64::2/64 dev eth3 ip -6 route add ::/0 via 2a02:f99:0:64::1 dev eth3 但 $ ip -6 neigh show 2a02:f99:0:64::1 dev eth3 FAILED $ ping6 google.com PING google.com(ams16s30-in-x0e.1e100.net) 56 data bytes From 2a02:f99:0:64::2 icmp_seq=1 Destination unreachable: Address unreachable … 我也试过了 ip -6 route […]

ARP在具有同一networking上的多个接口的Linux服务器上以单一MAC地址进行响应

Linux服务器有2个活动的networking接口: IF:eth1 IP:192.168.1.1/24 MAC:11:11:11:11:11:11 (1GbE) IF:eth2 IP:192.168.1.2/24 MAC:22:22:22:22:22:22 (10GbE) 这个想法是,10GbE接口(eth2)是与networking上的主机进行通信的主要接口。 我想离开第二个1GbE接口(eth1)作为故障安全。 万一10GbE接口出现故障,我仍然可以轻松地更新DNS,以便主机可以连接等。 在观察接口统计数据的同时,我注意到,尽pipenetworking上的所有主机都在寻址这个接口,但所有的数据stream都是在eth1而不是eth2上发送/接收的。 我确认DNS Alogging指向正确接口的IP。 另外,我确认了通过IP而不是FQDN来处理接口产生了相同的结果。 我清除了我的机器上的ARPcaching,并通过IP地址ping eth1接口。 我检查我的ARP表,findeth1的MAC地址。 我再次清除ARPcaching,并通过IP地址ping eth2接口。 再次,我检查我的ARP表,并findeth1的MAC地址(而不是eth2)。 如果我把eth1降低,断开接口,或者把它放在不同的逻辑networking上,我就会得到预期的行为,stream量通过我的eth2接口。 我的问题:为什么会发生这种情况? 我看到一些证据表明,这是由于其“弱主机模式”而在Linux内核上预期的行为。 我怎样才能使这两个接口在同一个networking上,让他们以我期望的方式工作。

Linux添加了错误的默认路由

出于某种原因,我的Centos 5.9 Linux 2.6.18 x86_64希望我有两个默认路由。 每当我重新启动服务器,我的路由表如下所示: [root@server1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 bond0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 bond1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 bond1 0.0.0.0 […]

如何为AWS EC2 Ubuntu实例设置子域?

我正在尝试为我的AWS EC2 ubuntu实例设置子域,但没有足够的知识我无法继续。 我在域名服务提供商处有一个停放的域名example.com 。 我的EC2实例具有弹性IP关联,比如10.10.10.10 我在域名服务提供商的网站上创build了两个A Recoards。 www.example.com指向10.10.10.10 example.com指向10.10.10.10 一切工作就像一个魅力,我可以访问我的实例与域名。 但现在我想有个人网站/服务的实例的子域名 ,说webmail.example.com , database.example.com 。 我试图为子域设置虚拟主机文件,但是当我访问这些子域名时,它并不工作,chrome说:“ 糟糕!谷歌浏览器无法findsubdoamin.example.com ” 问:我的问题是,如何为我的服务器设置子域名? 提前致谢。

通过IP v6访问服务器?

问题:我正在玩IPv6并将其转换为IPv4,反之亦然。 我想访问http://127.0.0.1/ 并做了标准的ipv4到ipv6的计算:AA = 127 BB = 0 CC = 0 DD = 1 与架构 0000:0000:0000:0000:0000:ffff:AABB:CCDD 这让我: 0000:0000:0000:0000:0000:ffff:7F00:0001 所以我试了 http://[:::::ffff:7F00:1] 但它没有显示任何东西。 通过一些Googlesearch,我发现我需要 http://[::1]/ 使用IPv6访问回送接口。 现在我并不太惊讶,因为回送接口可能是一个特例。 但后来我试图访问我的公共文件服务器: http://88.84.21.77/ 我计算的IPv6地址是 http://[::ffff:5854:154d]/ 但它也没有解决。 现在我的问题是:我是否做了任何转换错误,或者不是那样工作。 或者可能是因为我的服务器或ISP不支持IPv6? 我的服务器在Ubuntu 9.04下运行,具有所有必要的补丁。

在Linux上终止MPLS VPN

是否有可能终止在Linux上的MPLS VPN连接,以及如何? 在我的一边Linux机箱有光纤以太网接口,并已插入光纤。我们没有任何其他路由器等。

键合驱动程序打破了centos6?

我有一个最小安装CentOS6 64位(安装程序最小选项)的服务器。 绑定驱动程序似乎不能正常工作。 / proc / net / bonding / bond0的输出是: Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: None MII Status: down MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 正如你所看到的,没有任何接口被列为助手。 债券驱动程序选项在/etc/modprobe.d/bonding.conf中configuration为: alias bond0 bonding options bond0 mode=1 primary=eth0 miimon=100 接口eth0和eth4被configuration为: DEVICE="eth0" MASTER="bond0" SLAVE="yes" HWADDR="78:2B:CB:56:ED:5D" NM_CONTROLLED="no" ONBOOT="yes" […]