我有一个主服务器(DHCP)和一个辅助(DHCP-RELAY)。
大多数的主机是从主(无线)服务,但是有一些(有线的)从次要的IP。
二级中继所有DHCPstream量到主要,主要产生IP address ,将其发送回到次要,然后IP被提供给主机。 isc-dhcp-[relay|server] :
__________ ___________ ___________ | DHCP |<----rel.req----| DHCP-RELAY|<=====ip.req====| Host | |172.16.1.1|-{172.16.1.50}->|172.16.1.12|={172.16.1.50}=>|172.16.1.50| ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
DHCP服务器 :
# ip route | grep 172 172.16.1.0/24 dev wlan5 proto kernel scope link src 172.16.1.1 172.16.1.50 via 172.16.1.12 dev wlan5
DHCP-RELAY :
# ip addr | grep inet | grep 172 inet 172.16.1.254/24 brd 172.16.1.255 scope global eth0 inet 172.16.1.12/24 brd 172.16.1.255 scope global wlan3 # ip route | grep 172 default via 172.16.1.1 dev wlan3 metric 300 172.16.1.0/24 dev wlan3 proto kernel scope link src 172.16.1.12 172.16.1.0/24 dev eth0 proto kernel scope link src 172.16.1.254 172.16.1.50 via 172.16.1.254 dev eth0 # iptables -nvL -t nat Chain PREROUTING (policy ACCEPT 16 packets, 1293 bytes) pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 6 packets, 402 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 28 packets, 1568 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 28 packets, 1568 bytes) pkts bytes target prot opt in out source destination 7 468 SNAT all -- * eth0 172.16.1.0/24 0.0.0.0/0 to:172.16.1.254
纠正我,如果我错了,但根据我的知识与我目前的configuration它以这样或相似的方式工作:
从DHCP服务器(172.16.1.1 < – > 172.16.1.50)
172.16.1.1---icmp.ping--->172.16.1.12 172.16.1.12---icmp.ping--->172.16.1.254 172.16.1.254---icmp.ping--->172.16.1.50 172.16.1.254<---icmp.pong---172.16.1.50 172.16.1.12<--icmp.pong----172.16.1.254 172.16.1.1<---icmp.pong---172.16.1.12
所以我期待,如果我从主服务器后面的自定义主机ping :
从主机(172.16.1.100 < – > 172.16.1.50)
172.16.1.100---icmp.ping--->172.16.1.1 172.16.1.1---icmp.ping--->172.16.1.12 172.16.1.12---icmp.ping--->172.16.1.254 172.16.1.254---icmp.ping--->172.16.1.50 172.16.1.254<---icmp.pong---172.16.1.50 172.16.1.12<--icmp.pong----172.16.1.254 172.16.1.1<---icmp.pong---172.16.1.12 172.16.1.100<---icmp.pong---172.16.1.1
但是,而是我得到Destination Host Unreachable …
我必须在主机上添加另一个static route :
172.16.1.100:~# ip route add 172.16.1.50 via 172.16.1.12
然后一切顺利。 而且,亲爱的先生们,是很多静态路线!
那么我错过了什么,有没有更好的方法来解决这个问题呢?
我希望networking上的每台主机都可以和同一networking上的任何其他主机进行通信,使用尽可能less的静态路由。
谢谢
那么我错过了什么,有没有更好的方法来解决这个问题呢? 我希望networking上的每台主机都可以和同一networking上的任何其他主机进行通信,使用尽可能less的静态路由。
您可以使用VLAN并将无线和以太网段连接在一起。 使用此configuration,您将创build单个广播域,不需要任何静态路由,只需要一个DHCP服务器。
在桥接方面有两个选项:
我个人会select第一个选项,因为它更具可扩展性。
选项#1(架构)
______________ ___________ ___________ |Wireless |<==Ethernet===|Switch 1 |<====Ethernet====|Switch 2 | |Access Point 1|=============>|on VLAN A |================>|on VLAN A | --------------- ----------- ----------- | | Ethernet Ethernet | | __________ _________ | DHCP | | Wired | | Server | | Hosts | ---------- --------- Serves IPs for subnet {172.16/16}
所有主机和接入点连接到同一个VLAN的事实允许您使用单个DHCP服务器到达它们,而无需任何特定的路由,它将全部在networking堆栈的第2层工作。
选项#2(架构)
______________ _________________ __________ |Wireless |<==Ethernet==|eth0|DHCP |eth1|<==Ethernet===|Switch | |Access Point 1|============>| |Server| |=============>| | --------------- | -------- | ---------- | bridge0 | | ---------------- Ethernet Only bridge0 interface | is given an IP address __________ and DHCP servers is | Wired | configured to serve IPs | Hosts | on subnet {172.16/16} ----------- only on bridge0 interface
bridge0是一个虚拟接口,桥接DCHP服务器上的eth0和eth1接口(这里我假设一个linux盒子,但在其他操作系统上是相同的概念)。 eth0和eth1本身不能有任何IP,只有bridge0应该是从外部可见的唯一可见的接口(1)。 同样,不需要静态路由。
(1)我对非技术性的语言表示歉意,但我认为过于技术性的解释会使答案混乱,而不是严格意义上的必要。