Crear la interfaz del puente

Crear la interfaz del puente

Estoy trabajando en una caja de Linux. Quiero algo como esto.

red--->wlan0---->eth0-->otro servidor.

Tanto la interfaz wlan0 como la eth0 residen dentro de la misma caja de Linux. Estoy usando dhcp que asigna algo, por ejemplo, 192.168.3.21 a mi interfaz wlan0. Estoy asignando una IP estática, digamos 192.168.3.101 a mi interfaz eth0 y 192.168.3.102 a otro servidor. Ahora, quiero hacer ping desde la red (192.168.3.XX) a otro servidor en la dirección 192.168.3.102 y mi eth0 en 192.168.3.101. No puedo hacerlo.

Ni siquiera puedo hacer ping a mi otro servidor en 192.168.3.102 desde mi máquina Linux.

He habilitado el reenvío de IP mediante el comando "echo 1 > /proc/sys/net/ipv4/ip_forward".

También utilicé el siguiente comando para habilitar el reenvío nat.

iptables -A FORWARD -i wlan0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Todavía no puedo hacer ping.

Por favor, déjame saber lo que me falta. Cualquier ayuda será muy apreciada.

Aquí está el resultado de iptables-save: -

# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*raw
:PREROUTING ACCEPT [481:39595]
:OUTPUT ACCEPT [325:24634]
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*nat
:PREROUTING ACCEPT [1:229]
:INPUT ACCEPT [1:229]
:OUTPUT ACCEPT [1:76]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan0 -j MASQUERADE
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*mangle
:PREROUTING ACCEPT [482:39927]
:INPUT ACCEPT [474:38801]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [325:24634]
:POSTROUTING ACCEPT [325:24634]
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*filter
:INPUT ACCEPT [63:6229]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:76]
-A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Feb 19 10:17:54 2018

Aquí está mi resultado para la ruta ip: -

predeterminado a través de 192.168.0.1 dev wlan0 metric 10 192.168.0.0/24 dev wlan0 proto kernel alcance enlace src 192.168.0.190 192.168.0.0/24 dev eth0 proto kernel alcance enlace src 192.168.0.235

Respuesta1

Si quieres tener unenrutadorcon dos interfaces, deben estar en subredes separadas (el ejemplo 192.168.0.0/24 está separado de 192.168.5.0/24). Tienes un conflicto aquí, visible en tu ip route, no funcionará.

Si desea utilizar la misma subred en ambas interfaces, no es un enrutador, es un conmutador de dos puertos, que comúnmente se denominapuente.

  • Podría crear una interfaz puente y asignar una IP allí, posiblemente a través de DHCP.
  • El wlan0 y el eth0 deben quedar sin direcciones IP, se convierten en miembros transparentes de un puente.

Respuesta2

Para conectar dos redes diferentes, es necesario utilizar un puente como se muestra a continuación:

Crear la interfaz del puente

brctl addbr br0

Agregar interfaces al puente

brctl addif eth0

brctl addif wan0

IP cero en las interfaces.

ifconfig eth0 0.0.0.0 promisc up

ifconfig wan0 0.0.0.0 promisc up

Habilitar la interfaz del puente

ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 

información relacionada