the usual blog cleanups

Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
Nico Schottelius 2012-10-24 18:08:28 +02:00
parent e0015f4844
commit 82225c0fb2

View file

@ -2,9 +2,9 @@
## Introduction ## Introduction
This article will explain how to begin to manage a network This article explains how to begin to manage a network
with [[sexy|software/sexy]]. I assume you can start almost on a green field, with [[sexy|software/sexy]]. Because I just moved house,
if not, insert your site specific changes into the process. I take my home network as an example.
## Prerequisites ## Prerequisites
@ -47,11 +47,7 @@ Now we can network cards to this host:
## Add the network ## Add the network
In sexy, the host and net-ipv4 areas are disconnected: You can use sexy to manage Currently, sexy only allows you to manage IPv4 based networks
only hosts, to manage only networks or to manage both. To allow this flexibility,
the network part does not know about any information from the host part.
Luckily enough, you don't need to re-enter the information, but you can retrieve
them from the database. Currently, sexy only allows you to manage IPv4 based networks
- IPv6 may be added in future releases. So the command to remember for now, is - IPv6 may be added in future releases. So the command to remember for now, is
**net-ipv4**: **net-ipv4**:
@ -63,6 +59,12 @@ Now we created the network 192.168.24.0/22.
## Add a host to a network ## Add a host to a network
In sexy, the host and net-ipv4 areas are disconnected: You can use sexy to manage
only hosts, to manage only networks or to manage both. To allow this flexibility,
the network part does not know about any information from the host part.
Luckily enough, you don't need to re-enter the information, but you can retrieve
them from the database.
The previously added host, **katze.intern.schottelius.org**, is the router of The previously added host, **katze.intern.schottelius.org**, is the router of
my home network and it should use the first IPv4 address in the network. my home network and it should use the first IPv4 address in the network.
The **net-ipv4 host-add** command can be used to add a host: The **net-ipv4 host-add** command can be used to add a host:
@ -91,15 +93,15 @@ the network, it used .1:
Sexy does not know which DNS or DHCP server you may be using. Sexy does not know which DNS or DHCP server you may be using.
To implement changes to your architecture (probably using To implement changes to your architecture (probably using
a software like [[cdist|software/cdist]]), sexy supports using a software like [[cdist|software/cdist]]), sexy supports
**backends**. **backends** to do the change.
For my home network, I am going to use For my home network, I am going to use
[dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html), because the [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html), because the
router is a small [Soekris net5501](http://soekris.com/net5501.htm). router is a small [Soekris net5501](http://soekris.com/net5501.htm).
The backends are stored in **~/.sexy/backend** and for this The backends are stored in **~/.sexy/backend** and for this
example tutorial, I will only create **~/.sexy/backend/net-ipv4/apply**: example tutorial, I will create **~/.sexy/backend/net-ipv4/apply**:
% cat ~/.sexy/backend/net-ipv4/apply % cat ~/.sexy/backend/net-ipv4/apply
#!/bin/sh -e #!/bin/sh -e
@ -126,20 +128,21 @@ example tutorial, I will only create **~/.sexy/backend/net-ipv4/apply**:
done done
mv "${tmp}" "${dstfile}" mv "${tmp}" "${dstfile}"
eof
done done
cd "${dst_dir}" cd "${dst_dir}"
git add . git add .
git commit -m "Update Sexy generated network configuration" -o -- . git commit -m "Update Sexy generated network configuration" -o -- . 2>/dev/null || true
echo "Transferring changes to git remote" echo "Transferring changes to git remote"
git pull git pull --quiet
git push git push --quiet
"$cdist_bin" config -v zuhause.schottelius.org "$cdist_bin" config -v zuhause.schottelius.org
This backend in essence creates the dnsmasq configuration and executes cdist afterwards
to apply the changes. In essence this backend creates the dnsmasq configuration and executes cdist afterwards
to apply the changes. I personally prefer a backend to be shell script, but it can be
any kind of executable.
## Adding more hosts ## Adding more hosts
@ -154,9 +157,15 @@ server, I'll add my notebook and the fileserver to sexy:
% sexy net-ipv4 host-add -m $(sexy host nic-addr-get -n nic0 brief.intern.schottelius.org) -f brief.intern.schottelius.org 192.168.24.0 % sexy net-ipv4 host-add -m $(sexy host nic-addr-get -n nic0 brief.intern.schottelius.org) -f brief.intern.schottelius.org 192.168.24.0
As you can see, if I do not specify the name of the nic, sexy automatically uses **nic0** As you can see, if I do not specify the name of the nic, sexy automatically uses **nic0**
for the first nic and counts up. This decision was made, as network device names vary between for the first nic. This decision was made, as network device names vary between
operating systems and even operating system versions. operating systems and even operating system versions.
## Applying the configuration
The previously created backend will get executed with all existing networks,
if you run the apply command with the **--all** parameter:
% sexy net-ipv4 apply --all
## The result ## The result