mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			151 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version='1.0' encoding='utf-8' ?>
 | 
						|
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 | 
						|
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
 | 
						|
%BOOK_ENTITIES;
 | 
						|
]>
 | 
						|
 | 
						|
<!-- Licensed to the Apache Software Foundation (ASF) under one
 | 
						|
 or more contributor license agreements.  See the NOTICE file
 | 
						|
 distributed with this work for additional information
 | 
						|
 regarding copyright ownership.  The ASF licenses this file
 | 
						|
 to you under the Apache License, Version 2.0 (the
 | 
						|
 "License"); you may not use this file except in compliance
 | 
						|
 with the License.  You may obtain a copy of the License at
 | 
						|
 | 
						|
   http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
 Unless required by applicable law or agreed to in writing,
 | 
						|
 software distributed under the License is distributed on an
 | 
						|
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | 
						|
 KIND, either express or implied.  See the License for the
 | 
						|
 specific language governing permissions and limitations
 | 
						|
 under the License.
 | 
						|
-->
 | 
						|
 | 
						|
<section id="hypervisor-host-install-network">
 | 
						|
    <title>Configure the network bridges</title>
 | 
						|
    <warning><para>This is a very important section, please make sure you read this thoroughly.</para></warning>
 | 
						|
    <note><para>This section details how to configure bridges using the native implementation in Linux. Please refer to the next section if you intend to use OpenVswitch</para></note>
 | 
						|
    <para>In order to forward traffic to your instances you will need at least two bridges: <emphasis>public</emphasis> and <emphasis>private</emphasis>.</para>
 | 
						|
    <para>By default these bridges are called <emphasis>cloudbr0</emphasis> and <emphasis>cloudbr1</emphasis>, but you do have to make sure they are available on each hypervisor.</para>
 | 
						|
    <para>The most important factor is that you keep the configuration consistent on all your hypervisors.</para>
 | 
						|
    <section>
 | 
						|
        <title>Network example</title>
 | 
						|
        <para>There are many ways to configure your network. In the Basic networking mode you should have two (V)LAN's, one for your private network and one for the public network.</para>
 | 
						|
        <para>We assume that the hypervisor has one NIC (eth0) with three tagged VLAN's:</para>
 | 
						|
        <orderedlist>
 | 
						|
            <listitem><para>VLAN 100 for management of the hypervisor</para></listitem>
 | 
						|
            <listitem><para>VLAN 200 for public network of the instances (cloudbr0)</para></listitem>
 | 
						|
            <listitem><para>VLAN 300 for private network of the instances (cloudbr1)</para></listitem>
 | 
						|
        </orderedlist>
 | 
						|
        <para>On VLAN 100 we give the Hypervisor the IP-Address 192.168.42.11/24 with the gateway 192.168.42.1</para>
 | 
						|
        <note><para>The Hypervisor and Management server don't have to be in the same subnet!</para></note>
 | 
						|
    </section>
 | 
						|
    <section>
 | 
						|
        <title>Configuring the network bridges</title>
 | 
						|
        <para>It depends on the distribution you are using how to configure these, below you'll find examples for RHEL/CentOS and Ubuntu.</para>
 | 
						|
        <note><para>The goal is to have two bridges called 'cloudbr0' and 'cloudbr1' after this section. This should be used as a guideline only. The exact configuration will depend on your network layout.</para></note>
 | 
						|
        <section>
 | 
						|
            <title>Configure in RHEL or CentOS</title>
 | 
						|
            <para>The required packages were installed when libvirt was installed, we can proceed to configuring the network.</para>
 | 
						|
            <para>First we configure eth0</para>
 | 
						|
            <programlisting language="Bash">vi /etc/sysconfig/network-scripts/ifcfg-eth0</programlisting>
 | 
						|
            <para>Make sure it looks similar to:</para>
 | 
						|
            <programlisting><![CDATA[DEVICE=eth0
 | 
						|
HWADDR=00:04:xx:xx:xx:xx
 | 
						|
ONBOOT=yes
 | 
						|
HOTPLUG=no
 | 
						|
BOOTPROTO=none
 | 
						|
TYPE=Ethernet]]></programlisting>
 | 
						|
            <para>We now have to configure the three VLAN interfaces:</para>
 | 
						|
            <programlisting language="Bash">vi /etc/sysconfig/network-scripts/ifcfg-eth0.100</programlisting>
 | 
						|
            <programlisting><![CDATA[DEVICE=eth0.100
 | 
						|
HWADDR=00:04:xx:xx:xx:xx
 | 
						|
ONBOOT=yes
 | 
						|
HOTPLUG=no
 | 
						|
BOOTPROTO=none
 | 
						|
TYPE=Ethernet
 | 
						|
VLAN=yes
 | 
						|
IPADDR=192.168.42.11
 | 
						|
GATEWAY=192.168.42.1
 | 
						|
NETMASK=255.255.255.0]]></programlisting>
 | 
						|
            <programlisting language="Bash">vi /etc/sysconfig/network-scripts/ifcfg-eth0.200</programlisting>
 | 
						|
            <programlisting><![CDATA[DEVICE=eth0.200
 | 
						|
HWADDR=00:04:xx:xx:xx:xx
 | 
						|
ONBOOT=yes
 | 
						|
HOTPLUG=no
 | 
						|
BOOTPROTO=none
 | 
						|
TYPE=Ethernet
 | 
						|
VLAN=yes
 | 
						|
BRIDGE=cloudbr0]]></programlisting>
 | 
						|
            <programlisting language="Bash">vi /etc/sysconfig/network-scripts/ifcfg-eth0.300</programlisting>
 | 
						|
            <programlisting><![CDATA[DEVICE=eth0.300
 | 
						|
HWADDR=00:04:xx:xx:xx:xx
 | 
						|
ONBOOT=yes
 | 
						|
HOTPLUG=no
 | 
						|
BOOTPROTO=none
 | 
						|
TYPE=Ethernet
 | 
						|
VLAN=yes
 | 
						|
BRIDGE=cloudbr1]]></programlisting>
 | 
						|
            <para>Now we have the VLAN interfaces configured we can add the bridges on top of them.</para>
 | 
						|
            <programlisting language="Bash">vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0</programlisting>
 | 
						|
            <para>Now we just configure it is a plain bridge without an IP-Address</para>
 | 
						|
            <programlisting><![CDATA[DEVICE=cloudbr0
 | 
						|
TYPE=Bridge
 | 
						|
ONBOOT=yes
 | 
						|
BOOTPROTO=none
 | 
						|
IPV6INIT=no
 | 
						|
IPV6_AUTOCONF=no
 | 
						|
DELAY=5
 | 
						|
STP=yes]]></programlisting>
 | 
						|
            <para>We do the same for cloudbr1</para>
 | 
						|
            <programlisting language="Bash">vi /etc/sysconfig/network-scripts/ifcfg-cloudbr1</programlisting>
 | 
						|
            <programlisting><![CDATA[DEVICE=cloudbr1
 | 
						|
TYPE=Bridge
 | 
						|
ONBOOT=yes
 | 
						|
BOOTPROTO=none
 | 
						|
IPV6INIT=no
 | 
						|
IPV6_AUTOCONF=no
 | 
						|
DELAY=5
 | 
						|
STP=yes]]></programlisting>
 | 
						|
            <para>With this configuration you should be able to restart the network, although a reboot is recommended to see if everything works properly.</para>
 | 
						|
            <warning><para>Make sure you have an alternative way like IPMI or ILO to reach the machine in case you made a configuration error and the network stops functioning!</para></warning>
 | 
						|
        </section>
 | 
						|
        <section>
 | 
						|
            <title>Configure in Ubuntu</title>
 | 
						|
            <para>All the required packages were installed when you installed libvirt, so we only have to configure the network.</para>
 | 
						|
            <programlisting language="Bash">vi /etc/network/interfaces</programlisting>
 | 
						|
            <para>Modify the interfaces file to look like this:</para>
 | 
						|
            <programlisting><![CDATA[auto lo
 | 
						|
iface lo inet loopback
 | 
						|
 | 
						|
# The primary network interface
 | 
						|
auto eth0.100
 | 
						|
iface eth0.100 inet static
 | 
						|
    address 192.168.42.11
 | 
						|
    netmask 255.255.255.240
 | 
						|
    gateway 192.168.42.1
 | 
						|
    dns-nameservers 8.8.8.8 8.8.4.4
 | 
						|
    dns-domain lab.example.org
 | 
						|
 | 
						|
# Public network
 | 
						|
auto cloudbr0
 | 
						|
iface cloudbr0 inet manual
 | 
						|
    bridge_ports eth0.200
 | 
						|
    bridge_fd 5
 | 
						|
    bridge_stp off
 | 
						|
    bridge_maxwait 1
 | 
						|
 | 
						|
# Private network
 | 
						|
auto cloudbr1
 | 
						|
iface cloudbr1 inet manual
 | 
						|
    bridge_ports eth0.300
 | 
						|
    bridge_fd 5
 | 
						|
    bridge_stp off
 | 
						|
    bridge_maxwait 1]]></programlisting>
 | 
						|
            <para>With this configuration you should be able to restart the network, although a reboot is recommended to see if everything works properly.</para>
 | 
						|
            <warning><para>Make sure you have an alternative way like IPMI or ILO to reach the machine in case you made a configuration error and the network stops functioning!</para></warning>
 | 
						|
        </section>
 | 
						|
    </section>
 | 
						|
</section>
 |