Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.4. Multiport-Dienste und LVS

LVS routers under any topology require extra configuration when creating multi-port LVS services. Multi-port services can be created artificially by using firewall marks to bundle together different, but related protocols, such as HTTP (port 80) and HTTPS (port 443), or when LVS is used with true multi-port protocols, such as FTP. In either case, the LVS router uses firewall marks to recognize that packets destined for different ports, but bearing the same firewall mark, should be handled identically. Also, when combined with persistence, firewall marks ensure connections from the client machine are routed to the same host, as long as the connections occur within the length of time specified by the persistence parameter. For more on assigning persistence to a virtual server, see Abschnitt 4.6.1, »Der Unterabschnitt VIRTUAL SERVER«.
Leider kann der Mechanismus, der für die Lastverteilung auf den realen Servern verwendet wird — IPVS — zwar die Firewall-Markierungen erkennen, die einem Paket zugeordnet sind, kann jedoch nicht selbst Firewall-Markierungen zuweisen. Der Job der Zuweisung von Firewall-Markierungen muss vom Netzwerk-Paketfilter iptables außerhalb des Piranha Configuration Tool durchgeführt werden.

3.4.1. Zuweisen von Firewall-Markierungen

Um einem Paket, das für einen bestimmten Port gedacht ist, Firewall-Markierungen zuzuweisen, muss der Administrator iptables verwenden.
This section illustrates how to bundle HTTP and HTTPS as an example; however, FTP is another commonly clustered multi-port protocol. If an LVS is used for FTP services, refer to Abschnitt 3.5, »Konfiguration von FTP« for configuration details.
Als Grundregel bei der Verwendung von Firewall-Markierungen kann festgehalten werden, dass für jedes Protokoll, das eine Firewall-Markierung in Piranha Configuration Tool verwendet, eine entsprechende iptables-Regel existieren muss, um den Netzwerkpaketen Markierungen zuzuweisen.
Stellen Sie vor der Erstellung von Netzwerk-Paketfilterregeln sicher, dass nicht bereits Regeln existieren. Öffnen Sie hierfür einen Shell-Prompt, loggen Sie sich als Root ein und geben Sie ein:
/sbin/service iptables status
Falls iptables nicht läuft, erscheint der Prompt umgehend wieder.
Falls iptables aktiv ist, werden eine Reihe an Regeln angezeigt.
/sbin/service iptables stop
Falls die bereits existierenden Regeln wichtig sind, überprüfen Sie den Inhalt von /etc/sysconfig/iptables und kopieren Sie sämtliche Regeln, die es wert sind, zu speichern, an einen sicheren Ort, bevor Sie fortfahren.
Nachfolgend sind Regeln aufgeführt, die dieselbe Firewall-Markierung, 80, eingehendem Datenverkehr, der für die floating IP,n.n.n.n, auf den Ports 80 und 443, zuweisen
/sbin/modprobe ip_tables
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 --dport 80 -j MARK --set-mark 80
/sbin/iptables -t mangle-A PREROUTING -p tcp -d n.n.n.n/32 --dport 443 -j MARK --set-mark 80
For instructions on assigning the VIP to the public network interface, see Abschnitt 4.6.1, »Der Unterabschnitt VIRTUAL SERVER«. Also note that you must log in as root and load the module for iptables before issuing rules for the first time.
In den oben aufgeführten iptables-Befehlen sollte n.n.n.n durch die floating IP für Ihre virtuellen HTTP- und HTTPS-Server ersetzt werden. Diese Befehle haben den reinen Effekt, dass jeglichem Datenverkehr, der an die VIP auf dem entsprechenden Port gerichtet ist, eine Firewall-Markierung von 80 zugewiesen wird, was im Gegenzug von IPVS erkannt und entsprechend weitergeleitet wird.

Warnung

The commands above will take effect immediately, but do not persist through a reboot of the system. To ensure network packet filter settings are restored upon reboot, refer to Abschnitt 3.6, »Speichern der Einstellungen des Netzwerkpaketfilters«