aboutsummaryrefslogtreecommitdiff
path: root/docs/system/net.rst
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2021-07-21 00:26:36 +0100
committerAlex Bennée <alex.bennee@linaro.org>2021-07-23 17:22:16 +0100
commit189c099f75f39da1c1a0f3e527109af2b169a8fe (patch)
tree3808775d8bfe8bff849c2289c3073afb41ecc913 /docs/system/net.rst
parent6e52aafbac1d9f4eaa465ab4ec5d4327f2430832 (diff)
docs: collect the disparate device emulation docs into one section
While we are at it add a brief preamble that explains some of the common concepts in QEMU's device emulation which will hopefully lead to less confusing about our dizzying command line options. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Markus Armbruster <armbru@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Daniel P. Berrangé <berrange@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20210720232703.10650-3-alex.bennee@linaro.org>
Diffstat (limited to 'docs/system/net.rst')
-rw-r--r--docs/system/net.rst100
1 files changed, 0 insertions, 100 deletions
diff --git a/docs/system/net.rst b/docs/system/net.rst
deleted file mode 100644
index 4b2640c448..0000000000
--- a/docs/system/net.rst
+++ /dev/null
@@ -1,100 +0,0 @@
-.. _pcsys_005fnetwork:
-
-Network emulation
------------------
-
-QEMU can simulate several network cards (e.g. PCI or ISA cards on the PC
-target) and can connect them to a network backend on the host or an
-emulated hub. The various host network backends can either be used to
-connect the NIC of the guest to a real network (e.g. by using a TAP
-devices or the non-privileged user mode network stack), or to other
-guest instances running in another QEMU process (e.g. by using the
-socket host network backend).
-
-Using TAP network interfaces
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This is the standard way to connect QEMU to a real network. QEMU adds a
-virtual network device on your host (called ``tapN``), and you can then
-configure it as if it was a real ethernet card.
-
-Linux host
-^^^^^^^^^^
-
-As an example, you can download the ``linux-test-xxx.tar.gz`` archive
-and copy the script ``qemu-ifup`` in ``/etc`` and configure properly
-``sudo`` so that the command ``ifconfig`` contained in ``qemu-ifup`` can
-be executed as root. You must verify that your host kernel supports the
-TAP network interfaces: the device ``/dev/net/tun`` must be present.
-
-See :ref:`sec_005finvocation` to have examples of command
-lines using the TAP network interfaces.
-
-Windows host
-^^^^^^^^^^^^
-
-There is a virtual ethernet driver for Windows 2000/XP systems, called
-TAP-Win32. But it is not included in standard QEMU for Windows, so you
-will need to get it separately. It is part of OpenVPN package, so
-download OpenVPN from : https://openvpn.net/.
-
-Using the user mode network stack
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-By using the option ``-net user`` (default configuration if no ``-net``
-option is specified), QEMU uses a completely user mode network stack
-(you don't need root privilege to use the virtual network). The virtual
-network configuration is the following::
-
- guest (10.0.2.15) <------> Firewall/DHCP server <-----> Internet
- | (10.0.2.2)
- |
- ----> DNS server (10.0.2.3)
- |
- ----> SMB server (10.0.2.4)
-
-The QEMU VM behaves as if it was behind a firewall which blocks all
-incoming connections. You can use a DHCP client to automatically
-configure the network in the QEMU VM. The DHCP server assign addresses
-to the hosts starting from 10.0.2.15.
-
-In order to check that the user mode network is working, you can ping
-the address 10.0.2.2 and verify that you got an address in the range
-10.0.2.x from the QEMU virtual DHCP server.
-
-Note that ICMP traffic in general does not work with user mode
-networking. ``ping``, aka. ICMP echo, to the local router (10.0.2.2)
-shall work, however. If you're using QEMU on Linux >= 3.0, it can use
-unprivileged ICMP ping sockets to allow ``ping`` to the Internet. The
-host admin has to set the ping_group_range in order to grant access to
-those sockets. To allow ping for GID 100 (usually users group)::
-
- echo 100 100 > /proc/sys/net/ipv4/ping_group_range
-
-When using the built-in TFTP server, the router is also the TFTP server.
-
-When using the ``'-netdev user,hostfwd=...'`` option, TCP or UDP
-connections can be redirected from the host to the guest. It allows for
-example to redirect X11, telnet or SSH connections.
-
-Hubs
-~~~~
-
-QEMU can simulate several hubs. A hub can be thought of as a virtual
-connection between several network devices. These devices can be for
-example QEMU virtual ethernet cards or virtual Host ethernet devices
-(TAP devices). You can connect guest NICs or host network backends to
-such a hub using the ``-netdev
-hubport`` or ``-nic hubport`` options. The legacy ``-net`` option also
-connects the given device to the emulated hub with ID 0 (i.e. the
-default hub) unless you specify a netdev with ``-net nic,netdev=xxx``
-here.
-
-Connecting emulated networks between QEMU instances
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Using the ``-netdev socket`` (or ``-nic socket`` or ``-net socket``)
-option, it is possible to create emulated networks that span several
-QEMU instances. See the description of the ``-netdev socket`` option in
-:ref:`sec_005finvocation` to have a basic
-example.