是否可以在环回设备上放置真实IP?


Answers:


5

没有什么可以禁止的。

使用ifconfig罗:1 10.0.0.1/8使用ifconfig罗:1
lo:1链接封套:本地环回  
          inet地址:10.0.0.1掩码:255.0.0.0
          上环运行MTU:65536公制:1
#平-c 1 10.0.0.1    
PING 10.0.0.1(10.0.0.1)56(84)字节数据。
从10.0.0.1开始的64个字节:icmp_seq = 1 ttl = 64时间= 0.025 ms

--- 10.0.0.1 ping统计信息---
传输1个数据包,接收1个数据包,丢包0%,时间0ms
rtt最小值/平均值/最大值/ mdev = 0.025 / 0.025 / 0.025 / 0.000毫秒

更新:

为了使该地址在Ubuntu 16.04上重新启动后仍然存在,可以/etc/network/interfaces使用以下ethtool命令修改文件:

auto lo lo:1

iface lo inet loopback

iface lo:1 inet static
  address 10.0.0.1
  network 10.0.0.0
  netmask 255.0.0.0

重新启动后,这种情况持续存在吗?
Peter Smit

1
不能。最好说出您正在使用的精确操作系统/发行版,以获得可靠的答案,并可能提出一个新问题或检查是否尚未回答。
jlliagre

Ubuntu 16.04 LTS
Peter Smit

答案已更新。
jlliagre

5

除了使用之外lo:0,您还可以dummy在Linux中使用接口,如下所示:

ifconfig dummy0 10.0.0.1/32
ifconfig dummy1 10.1.1.1/24

除了其他答案:

  • 我不建议更改通常/官方的回送接口地址,因为很多功能都取决于它。
  • 但是,您可以拥有/创建多个环回/虚拟接口-lo:0到lo:255或dummyX接口;
  • 必须考虑到lo:0到lo:255是别名,而dummyX是完整接口;
  • 此外,Linux中通过BGP或OSPF创建虚拟IP的常用策略之一是将其分配给环回/虚拟接口,并通过路由为其建立路径。
  • 同样,某些守护程序在通告别名中的地址时遇到问题(例如,quagga)-因此,在这种情况下,建议使用dummyX接口。
  • 我要强调的是,在基础架构中没有路由时,此类地址仅是已知的/能够在所讨论的服务器中使用;
  • 在没有正确路由的情况下将专用/公共地址分配给环回接口可能是一种计算成本低的措施,可以暂时将与IP地址/网络的通信列入黑名单。

有关更多详细信息,请参见使用Quagga / BIRD完成的BIND任播设置教程。

此处提供路由线索:OSPF:将Quagga迁移到BIRD

默认情况下,PS Linux仅创建dummy0和dummy1,并且必须指示其创建更多数量的虚拟接口。


1
我绝对会在(静态)路由中使用它。虚拟接口和环回接口之间有什么真正的区别?
Peter Smit

@PeterSmit将vips分配给回送,以处理接口的别名,而dummy本身就是完整的接口。使用quagga使用接口别名时出现问题...,我不建议更改lo。通常,您可能/必须将带有实际接口而不是别名的fw规则关联起来。
Rui F Ribeiro

3

在带有ip实用程序的当前Linux内核上,它非常简单:

ip addr add 10.0.1.8 dev lo

当您拥有绑定接口上的端口的服务,并且想要在相同的端口和网络上运行其他程序时,这将很有用。我使用它既可以启用binddnsmasq可以在同一服务器上共存。

如果/etc/network/interfaces用于配置接口,请更新lo节以包括:

up ip addr add 10.0.1.8 dev lo

谢谢。这将持续重启吗?
Peter Smit

1
@PeterSmit不太可能。
库萨兰达

1

是的,但这并不意味着它是个好主意。如果使用系统将要访问的IP,则它将尝试发送到该IP的任何数据都将重定向到本地系统,这可能会导致各种奇怪的网络问题。特别是,这意味着您不能安全使用超出以下范围的任何东西:

127.0.0.0/8
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24
240.0.0.0/4

以下任何一种可能的例外取决于您其他网络接口的配置方式:

10.0.0.0/8
192.168.0.0/16
172.16.0.0/12
169.254.0.0/16

这是适用RFC 1925第2节第3项的情况。


实际上,还有更多范围。就我而言,它应该在100.64.0.0/10范围内(电信级NAT)
Peter Smit

1
可能还有更多,但其中大多数并未在客户端系统上广泛使用(我认为CGN范围可能适合),或者它们具有许多人可能不理解的定义不明确的用法(例如198.18.0.0/15,用于基准测试),而我想避免说一些可能不太安全的事实实际上是安全的。
奥斯汀·海默加恩
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.