| | 1 | = Informationen zum Netzwerk = |
| | 2 | |
| | 3 | == Probleme mit RTL8168B-Karten unter Linux == |
| | 4 | Manchmal spinnen die Kernel-Treiber (r8169), im syslog wird ständig gemeldet, die eth? sei jetzt up - Verbindungen brechen ab oder sind nicht so schnell, wie sie sein könnten. Abhilfe: r8168-Treiber aus den Quellen kompilieren: |
| | 5 | |
| | 6 | * http://wiki.hetzner.de/index.php/Installation_des_r8168-Treibers#Debian.2FUbuntu |
| | 7 | * http://www.realtek.com.tw/Downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false |
| | 8 | |
| | 9 | |
| | 10 | == bonding == |
| | 11 | Linux kann mehrere NIC zu einem bond zusammenfassen, so kann die Bandbreite erhöht werden. Auf dem Cisco muss dazu Link Aggregation nach LACP (IEEE802.3ad) betrieben werden. Ein ausfallender Port des bonds wird automatisch erkannt, der bond läuft störungsfrei weiter. |
| | 12 | |
| | 13 | |
| | 14 | === auf dem Cisco (iOS) === |
| | 15 | {{{ |
| | 16 | conf t |
| | 17 | int range gig [A]/[B] - [C] |
| | 18 | channel-group [Nr] mode active |
| | 19 | switchport access VLAN [VNr] |
| | 20 | }}} |
| | 21 | |
| | 22 | Damit wird ein neues Channel-Interface (port-channel [Nr]) angelegt und diesem die angegebenen Ports zugeordnet. Der Channel ist in VLAN [VNr] |
| | 23 | |
| | 24 | === auf dem Linux-Rechner === |
| | 25 | {{{ |
| | 26 | # Fuer alle zugeordneten NIC: |
| | 27 | iface ethX inet manual |
| | 28 | |
| | 29 | auto bond0 |
| | 30 | iface bond0 inet static |
| | 31 | address 10.32.X.Y |
| | 32 | netmask 255.240.0.0 |
| | 33 | slaves ethA ethB ethC ... |
| | 34 | bond_mode 802.3ad |
| | 35 | bond_miimon 100 |
| | 36 | bond_downdelay 200 |
| | 37 | bond_updelay 200 |
| | 38 | }}} |
| | 39 | |
| | 40 | === Test === |
| | 41 | cat /proc/net/bonding/bond0 zeigt den Status des Bonds und der einzelnen NIC |
| | 42 | |
| | 43 | |
| | 44 | == Trunking == |
| | 45 | Einzelne NIC oder Bonds kann man als Trunk benutzen. Dabei wird nicht auf dem Switch entschieden, welchem VLAN der Port zugeorndet wird .- stattdessen hat der Server selbst zugriff auf die auf dem Trunk erlaubten VLAN (Standard: alle). |
| | 46 | |
| | 47 | Wir schalten den gerade angelegten bond0 / port-channel [Nr] als Trunk nach IEEE801.1q |
| | 48 | |
| | 49 | |
| | 50 | === auf dem Cisco (iOS) === |
| | 51 | {{{ |
| | 52 | conf t |
| | 53 | port-channel [Nr] |
| | 54 | no switchport access VLAN [Nr] |
| | 55 | switchport trunk encapsulation dot1q |
| | 56 | # eventuell switchport trunk allowed vlan 1,2 |
| | 57 | switchport mode trunk |
| | 58 | spanning-tree portfast trunk |
| | 59 | }}} |
| | 60 | |
| | 61 | Alle Ports werden dadurch ebenfalls auf trunk / encapsulation dot1q umgestellt. |
| | 62 | Der Trunk ist nun bereit zur Benutzung. |
| | 63 | |
| | 64 | |
| | 65 | |
| | 66 | |
| | 67 | === auf dem Linux-Rechner === |
| | 68 | {{{ |
| | 69 | # Fuer alle zugeordneten NIC: |
| | 70 | iface ethX inet manual |
| | 71 | |
| | 72 | auto bond0 |
| | 73 | iface bond0 inet static |
| | 74 | slaves ethA ethB ethC ... |
| | 75 | bond_mode 802.3ad |
| | 76 | bond_miimon 100 |
| | 77 | bond_downdelay 200 |
| | 78 | bond_updelay 200 |
| | 79 | |
| | 80 | # virtueller Switch fuer VLAN 7 |
| | 81 | auto vmbr7 |
| | 82 | iface vmbr7 inet static |
| | 83 | address 10.32.X.Y |
| | 84 | netmask 255.240.0.0 |
| | 85 | bridge_ports bond0.7 |
| | 86 | bridge_stp off |
| | 87 | bridge_fd 0 |
| | 88 | }}} |
| | 89 | |
| | 90 | Es wird auf dem bond ein VLAN-Interface bond0.7 in VLAN 7 angelegt und dieses der Bruecke vmbr7 zugeordnet. vmbr7 befindet sich damit im VLAN 7. Alle erlaubten VLAN sind so auf dem Linuxrechner erreichbar. |
| | 91 | |
| | 92 | |
| | 93 | === Test === |
| | 94 | cat /proc/net/bonding/bond0 zeigt den Status des Bonds und der einzelnen NIC, |
| | 95 | cat /proc/net/vlan/config zeigt die Zuordnungen zu den VLANs |
| | 96 | |
| | 97 | |
| | 98 | |