Párkrát jsem se setkal s požadavkem připojení serveru pomocí dvou síťových karet kvůli zabezpečení proti výpadku trasy připojení. Varianta kterou zde popíšu pro Solaris i Linux počítá s jednou veřejnou IP adresou pro server.
Solaris
Minimálně od Solarisu 8 je možné celkem jednoduše nastavit network failover. Postup je následující:
Potřebujeme celkem 3 IP adresy pro server ze stejné sítě. Jedna je klasické IP, se kterou normálně komunikuje okolní svět a zbývající 2 jsou pro síťovky. Obě síťovky je třeba přiřadit do stejné skupiny, u mě to je skupina production
.
Záznam v /etc/hosts:
192.168.10.100 server 192.168.10.101 server-dummy0 192.168.10.102 server-dummy1
/etc/hostname.bge0
server-dummy0 netmask + broadcast + \ group production deprecated -failover up \ addif server netmask + broadcast +failover up
/etc/hostname.bge1
server-dummy1 netmask + broadcast + \ group production deprecated -failover standby up
Při vytažení kabelu se vlogu objeví záznam programu in.pathd, který se o faiover stará.
Linux
V Linuxu je spojení více rozhraní do jednoho také docela jednoduché. Je třeba podpora v jádře (zřejmě většina distribucí podporuje, modul bonding
, nainstalovaný program ifenslave
a pár změn v konfiguraci. Popis, který zde uvedu je platný pro RdeHat a Fedoru. Samozřejmě lze spojit více rozhraní i v jiných distribucích, ale zřejmě to nebude tak jednoduché. V počítači máme 2 síťovky a naše IP adresa je 192.168.1.11.
Do /etc/modprobe.conf
přidejte řádek s alias bond0 bonding
.
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes BOOTPROTO=none
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes BOOTPROTO=none
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 IPADDR=192.168.0.11 NETMASK=255.255.255.0 NETWORK=192.168.0.0 GATEWAY=192.168.0.1 BROADCAST=192.168.0.255 ONBOOT=yes BOOTPROTO=none USERCTL=no
Po restartu sítě (/etc/init.d/network restart
) byste měli vidět výpis ifconfig -a
podobný tomu mému.
bond0 Link encap:Ethernet HWaddr 00:40:63:D9:7E:DC inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::240:63ff:fed9:7edc/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:550490 errors:0 dropped:0 overruns:0 frame:0 TX packets:799690 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:484539138 (462.0 MiB) TX bytes:649697037 (619.5 MiB) eth0 Link encap:Ethernet HWaddr 00:40:63:D9:7E:DC inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::240:63ff:fed9:7edc/64 Scope:Link UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:278604 errors:0 dropped:0 overruns:0 frame:0 TX packets:399819 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:244748673 (233.4 MiB) TX bytes:324785741 (309.7 MiB) Interrupt:10 Base address:0x2000 eth1 Link encap:Ethernet HWaddr 00:40:63:D9:7E:DC inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::240:63ff:fed9:7edc/64 Scope:Link UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:271887 errors:0 dropped:0 overruns:0 frame:0 TX packets:399872 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:239790531 (228.6 MiB) TX bytes:324911410 (309.8 MiB) Interrupt:11 Base address:0x4000
Podrobnější dokumentace k nastavení bondingu je u zdrojáků jádra.
Comments are closed.