Bonding+gateway
Juan Andres Ramirez
jandresaedo en gmail.com
Jue Abr 23 17:08:23 CLT 2009
Despues de seguir tratando de configurar bien las tarjetas, aplique el comando
ifenslave bond1 eth2 eth3 , me arrojo esto:
Apr 23 16:51:53 luna kernel: bonding: bond1: Warning: failed to get
speed and duplex from eth3, assumed to be 100Mb/sec and Full.
Para las 2 tarjetas de red
Al reiniciar el network, todo paso sin problemas y rutea hacia afuera
sin dramas.
Mi problema era el full duplex???, ya que no se unieron cuando edite
los archivos de configuracion.
Si aplico el mismo comando para eth0 y eth1:
Illegal operation: The specified slave interface 'eth0' is already a slave
Master 'bond0', Slave 'eth0': Error: Enslave failed
Entonces estaban unidas sin problemas, pero la eth2 y eth3 no, por el
problema de full duplex????. Gracias.
On Thu, Apr 23, 2009 at 3:20 PM, Juan Andres Ramirez
<jandresaedo en gmail.com> wrote:
> Hola listeros:
> Necesito habilitar un firewall en mi red interna, para eso
> tengo un server con 4 tarjetas de red:
>
> 02:07.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S
> [Rhine-III] (rev 8b)
> 02:09.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x
> DEC-Tulip compatible 10/100 Ethernet (rev 31)
> 02:0a.0 Ethernet controller: Davicom Semiconductor, Inc. 21x4x
> DEC-Tulip compatible 10/100 Ethernet (rev 31)
>
> La 4 no aparece, pero si tiro un ifconfig sale:
>
> eth0 Link encap:Ethernet HWaddr 00:17:31:1A:59:19
> UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
> RX packets:146009 errors:0 dropped:0 overruns:0 frame:0
> TX packets:60882 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:20953978 (19.9 MiB) TX bytes:9615736 (9.1 MiB)
> Interrupt:185 Base address:0x8000
>
> eth1 Link encap:Ethernet HWaddr 00:17:31:1A:59:19
> UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
> RX packets:146599 errors:0 dropped:0 overruns:0 frame:0
> TX packets:61024 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:21006890 (20.0 MiB) TX bytes:9622324 (9.1 MiB)
> Interrupt:217 Base address:0x4c00
>
> eth2 Link encap:Ethernet HWaddr 00:80:AD:84:5F:5A
> inet6 addr: fe80::280:adff:fe84:5f5a/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:10335 errors:0 dropped:0 overruns:0 frame:0
> TX packets:259 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:999767 (976.3 KiB) TX bytes:40800 (39.8 KiB)
> Interrupt:201 Base address:0xb400
>
> eth3 Link encap:Ethernet HWaddr 00:80:AD:84:74:99
> inet6 addr: fe80::280:adff:fe84:7499/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:10320 errors:0 dropped:0 overruns:0 frame:0
> TX packets:261 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:996841 (973.4 KiB) TX bytes:41886 (40.9 KiB)
> Interrupt:209 Base address:0xb000
>
>
> Hice un bonding (bond0) sobre la eth0 y eth1, y un bond1 sobre la eth2,eth3:
>
> bond0 Link encap:Ethernet HWaddr 00:17:31:1A:59:19
> inet addr:192.168.100.101 Bcast:192.168.100.255 Mask:255.255.255.0
> inet6 addr: fe80::217:31ff:fe1a:5919/64 Scope:Link
> UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
> RX packets:292599 errors:0 dropped:0 overruns:0 frame:0
> TX packets:121885 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:41960328 (40.0 MiB) TX bytes:19234894 (18.3 MiB)
>
> bond1 Link encap:Ethernet HWaddr 00:00:00:00:00:00
> inet addr:192.168.100.73 Bcast:192.168.100.255 Mask:255.255.255.0
> UP BROADCAST MASTER MULTICAST MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
>
> Edite el /etc/modprobe.conf:
>
> alias eth0 forcedeth
> alias scsi_hostadapter sata_nv
> alias snd-card-0 snd-intel8x0
> options snd-card-0 index=0
> options snd-intel8x0 index=0
> remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ;
> }; /sbin/modprobe -r --ignore-remove snd-intel8x0
> alias snd-card-1 snd-mpu401
> options snd-card-1 index=1
> options snd-mpu401 index=1
> remove snd-mpu401 { /usr/sbin/alsactl store 1 >/dev/null 2>&1 || : ;
> }; /sbin/modprobe -r --ignore-remove snd-mpu401
> alias eth2 tulip
> alias eth3 tulip
> alias eth1 via-rhine
> alias bond0 bonding
> options bond0 bonding mode=0
> alias bond1 bonding
> options bond1 bonding mode=0
>
> Como ven al final aparecen los bonding declarados:
>
> Tiro un network restart:
>
> Interrupción de la interfaz bond0: [ OK ]
> Interrupción de la interfaz bond1: [ OK ]
> Interrupción de la interfaz de loopback: [ OK ]
> Deshabilitando el reenvio de paquetes IPv4: net.ipv4.ip_forward = 0
> [ OK ]
> Activación de la interfaz de loopback: [ OK ]
> Activando interfaz bond0: [ OK ]
> Activando interfaz bond1: [ OK ]
>
> Como se ve ahi aparece como todo OK sobre el bond1, Si hago un ping
> desde otra maquina sobre el bond1 llega bien.
>
> Ahora si hago un ethtool eth2 |grep "Link detected:" sobre la eth2 y
> eth3 no me tira ningun mensaje, si lo hago sobre la eth0 y eth1 recivo
> el mensaje de todo ok:
>
> [root en luna sysconfig]# ethtool eth1 |grep "Link detected:"
> Link detected: yes
>
> Para terminar, habilite en el /etc/sysctl.conf :
> net.ipv4.ip_forward = 1
> net.ipv4.conf.all.rp_filter=1
> net.ipv4.ip_always.defrag=1
>
> Y en el archivo /etc/sysconfig/network :
>
> NETWORKING=yes
> NETWORKING_IPV6=no
> HOSTNAME=luna.xxx.com
> GATEWAYDEV=bond1
> GATEWAY=192.168.100.1
>
>
>
> Pero al reiniciar el network aparece el mensaje de mas arriba que se
> desactivo el reenvio de paquetes IPv4. Lo que estoy tratando de hacer
> es un gateway interno para poder filtrar usuarios de la red interna
> hacia afuera, y como son varios usuarios lo estoy haciendo con bonding
> 2 tarjetas de entrada y 2 de salida, porque son como 50 usuarios.
> Deshabilitando el reenvio de paquetes IPv4: net.ipv4.ip_forward = 0
> -> este mensaje me debe preocupar??, alguna corrección que hacer a
> este esquema??. Muchas gracias chicos y chicas.
>
Más información sobre la lista de distribución Linux