2018-06-29 21:57:59 +08:00
|
|
|
.. _static_ip:
|
|
|
|
|
|
|
|
Using a static IP address
|
|
|
|
#########################
|
|
|
|
|
|
|
|
When you install ACRN on your system following the :ref:`getting_started`, a
|
|
|
|
bridge called ``acrn-br0`` will be created and attached to the Ethernet network
|
|
|
|
interface of the platform. By default, the bridge gets its network configuration
|
|
|
|
using DHCP. This guide will explain how to modify the system to use a static IP
|
|
|
|
address. You need ``root`` privileges to make these changes to the system.
|
|
|
|
|
|
|
|
ACRN Network Setup
|
|
|
|
******************
|
|
|
|
|
|
|
|
The ACRN Service OS is based on `Clear Linux`_ and it uses `systemd-networkd`_
|
|
|
|
to set up the Service OS networking. A few files are responsible for setting up the
|
|
|
|
ACRN bridge (``acrn-br0``), the TAP device (``acrn_tap0``), and how these are all
|
|
|
|
connected. Those files are installed in ``/usr/lib/systemd/network``
|
|
|
|
on the target device and can also be found under ``tools/acrnbridge`` in the source code.
|
|
|
|
|
|
|
|
Setting up the static IP address
|
|
|
|
********************************
|
|
|
|
|
2018-07-01 02:42:33 +08:00
|
|
|
You can set up a static IP address by copying the
|
|
|
|
``/usr/lib/systemd/network/50-eth.network`` file to
|
|
|
|
``/etc/systemd/network/`` directory. You can create this directory and
|
|
|
|
copy the file with the following command:
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
mkdir -p /etc/systemd/network
|
|
|
|
cp /usr/lib/systemd/network/50-eth.network /etc/systemd/network
|
|
|
|
|
|
|
|
Modify the ``[Network]`` section in the
|
|
|
|
``/etc/systemd/network/50-eth.network`` file you just created.
|
|
|
|
This is the content of the file used in ACRN by default.
|
2018-06-29 21:57:59 +08:00
|
|
|
|
|
|
|
.. literalinclude:: ../../tools/acrnbridge/eth.network
|
|
|
|
:caption: tools/acrnbridge/eth.network
|
|
|
|
:emphasize-lines: 5
|
|
|
|
|
|
|
|
Edit the file to remove the line highlighted above and add your network settings in
|
|
|
|
that ``[Network]`` section. You will typically need to add the ``Address=``, ``Gateway=``
|
|
|
|
and ``DNS=`` parameters in there. There are many more parameters that can be used and
|
|
|
|
detailing them is beyond the scope of this document. For an extensive list of those,
|
|
|
|
please visit the official `systemd-network`_ page.
|
|
|
|
|
|
|
|
This is an example of what a typical ``[Network]`` section would look like, specifying
|
|
|
|
a static IP address:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
[Network]
|
|
|
|
Address=192.168.1.87/24
|
|
|
|
Gateway=192.168.1.254
|
|
|
|
DNS=192.168.1.254
|
|
|
|
|
|
|
|
Activate the new configuration
|
|
|
|
******************************
|
|
|
|
|
|
|
|
You do not need to reboot the machine after making the changes to the system, the
|
|
|
|
following steps that restart the ``systemd-networkd`` service will suffice (run as ``root``):
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
systemctl daemon-reload
|
|
|
|
systemctl restart systemd-networkd
|
|
|
|
|
|
|
|
If you encounter connectivity issues after following this guide, please contact us on the
|
|
|
|
`ACRN-users mailing list`_ or file an issue in `ACRN hypervisor issues`_. Provide the details
|
|
|
|
of the configuration you are trying to set up, the modifications you have made to your system, and
|
|
|
|
the output of ``journalctl -b -u systemd-networkd`` so we can best assist you.
|
|
|
|
|
|
|
|
.. _systemd-networkd: https://www.freedesktop.org/software/systemd/man/systemd-networkd.service.html
|
|
|
|
.. _Clear Linux: https://clearlinux.org
|
|
|
|
.. _systemd-network: https://www.freedesktop.org/software/systemd/man/systemd.network.html
|
|
|
|
.. _ACRN-users mailing list: https://lists.projectacrn.org/g/acrn-users
|
|
|
|
.. _ACRN hypervisor issues: https://github.com/projectacrn/acrn-hypervisor/issues
|