Alcançando hosts retransmitidos por DHCP

3

Eu tenho um servidor primário (DHCP) e um secundário (DHCP-RELAY).

Maioria dos hosts são atendidos a partir do primário (sem fio), no entanto, existem alguns (com fio) que recebem seus IPs do secundário.

O secundário relega todo o tráfego de DHCP para o primário, gera spawns primários IP address , envia de volta para o secundário e, em seguida, o IP é alimentado até o host. 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-SERVER :
# 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

Corrija-me se estiver errado, mas até onde sei, com minha configuração atual, funciona de maneira semelhante ou semelhante:
Do servidor 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

Então, eu esperava que, se eu ping do host personalizado por trás do servidor principal:
Do host (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

Mas, em vez disso, recebo Destination Host Unreachable ...

Eu devo adicionar outro static route no host:

172.16.1.100:~# ip route add 172.16.1.50 via 172.16.1.12

Então tudo vai bem. E isso, queridos senhores, é um monte de rotas estáticas!

Então, o que estou perdendo, há uma abordagem melhor para o problema?
Eu quero que cada host na rede possa se comunicar com qualquer outro host na mesma rede, usando o menos possível rotas estáticas.

Obrigado

    
por NarūnasK 10.05.2015 / 11:32

1 resposta

0

So what am I missing, is there a better approach to the problem? I want that every host on the network could communicate with any other host on the same network, using as less as possible static routes.

Você pode usar uma VLAN e unir seus segmentos sem fio e Ethernet. Com essa configuração, você criará um único domínio de broadcast, nenhuma rota estática será necessária e apenas um servidor DHCP será necessário.

Existem duas opções no lado da ponte:

  1. Defina os pontos de acesso no modo bridge e conecte sua ethernet a uma porta de switch na sua VLAN
  2. Permitir que todos os pontos de acesso cheguem ao servidor DHCP e adicionem uma interface de ponte

Eu pessoalmente escolheria a primeira opção, pois é mais escalável.

Opção nº 1 (arquitetura)

 ______________                ___________                  ___________
|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}

O fato de todos os hosts e Pontos de Acesso estarem conectados à mesma VLAN permite que você os alcance usando um único servidor DHCP sem qualquer roteamento específico, e todos funcionarão no Nível 2 da pilha de rede.

Opção nº 2 (arquitetura)

 ______________              _________________                __________
|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 é uma interface virtual que liga as interfaces eth0 e eth1 no servidor DCHP (aqui estou assumindo uma caixa linux, mas é o mesmo conceito em outros sistemas operacionais). eth0 e eth1 não devem ter nenhum IP sozinhos, somente bridge0 deve, pois é a única interface que será visível (1) do ponto de vista externo. Novamente, nenhum roteamento estático será necessário.

(1) Peço desculpas pela linguagem não técnica, mas acho que uma explicação muito técnica traria a resposta e não é estritamente necessária para mostrar o conceito.

    
por 26.05.2015 / 18:47