<feed xmlns='http://www.w3.org/2005/Atom'>
<title>labitat-ansible/roles/space_server/files/nftables.service, branch 3x1g-bond</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.2e8.dk/labitat/labitat-ansible/'/>
<entry>
<title>space_server: bond all 3 gigabit ports, and enjoy 3x1G uplink</title>
<updated>2021-09-13T15:10:49+00:00</updated>
<author>
<name>Asbjørn Sloth Tønnesen</name>
<email>asbjorn@labitat.dk</email>
</author>
<published>2021-09-13T14:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.2e8.dk/labitat/labitat-ansible/commit/?id=a8fab3916c0ec8ec7307de636522f4de8849543b'/>
<id>a8fab3916c0ec8ec7307de636522f4de8849543b</id>
<content type='text'>
Before:
- enp1s0: wan
- enp2s0: lan (with VLANs)
- enp3s0: mgt

Changes in this patch:
- wan is moved to VLAN id 5
- bond0 is created, replacing lan as lower device for VLANs
- mgt config is removed (could be reconfigured as a VLAN, and
                         made a available on a switch port)
- all 3 ports are enslaved in bond0

From the switch towards the space server load-balance algorithm
src-dst-ip* is used.

From the space server towards the switch L3+L4 is used.

Therefore a single IP pair will always use the same 1G
from the swith to the space server, a client therefore
needs to multiplex over multiple IPs in order to

*) The src-dst-ip algorithm on the switch hasn't been
   tested with IPv6 yet. Hopefully we can find a better
   switch at some point, so we can include the L4 ports in
   the hashing on the switch.

Signed-off-by: Asbjørn Sloth Tønnesen &lt;asbjorn@labitat.dk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before:
- enp1s0: wan
- enp2s0: lan (with VLANs)
- enp3s0: mgt

Changes in this patch:
- wan is moved to VLAN id 5
- bond0 is created, replacing lan as lower device for VLANs
- mgt config is removed (could be reconfigured as a VLAN, and
                         made a available on a switch port)
- all 3 ports are enslaved in bond0

From the switch towards the space server load-balance algorithm
src-dst-ip* is used.

From the space server towards the switch L3+L4 is used.

Therefore a single IP pair will always use the same 1G
from the swith to the space server, a client therefore
needs to multiplex over multiple IPs in order to

*) The src-dst-ip algorithm on the switch hasn't been
   tested with IPv6 yet. Hopefully we can find a better
   switch at some point, so we can include the L4 ports in
   the hashing on the switch.

Signed-off-by: Asbjørn Sloth Tønnesen &lt;asbjorn@labitat.dk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>space_server: add dedicated VLAN for Tor exit nodes</title>
<updated>2021-09-06T19:06:02+00:00</updated>
<author>
<name>Asbjørn Sloth Tønnesen</name>
<email>asbjorn@labitat.dk</email>
</author>
<published>2021-09-06T18:13:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.2e8.dk/labitat/labitat-ansible/commit/?id=6856b82bdcd61ea25cac8bc64a9114d908e6ea9e'/>
<id>6856b82bdcd61ea25cac8bc64a9114d908e6ea9e</id>
<content type='text'>
Move the Tor exit nodes to their own VLAN, and
their own address space.

Background for move
-------------------

For the first Tor exit node, we where able to
create inet6num object 2a01:4262:1ab:20::71/128.
So we could assign a specific Tor abuse contact.

When we added the second node it was no longer
possible to create /128 inet6num objects, but
only up to /64. We therefore need to move our
Tor exit nodes to a dedicated address space.

Connection tracking
-------------------

Connection tracking is quite expensive, so
it's better to only do it for Tor traffic,
when we actually need it, which is only when
internal clients need to access the servers.

In the future conntrack could also be disabled
for labicolo in general.

Current stats
~~~~~~~~~~~~~

[root@space ~]# grep -v '185\.38\.175\.7[12] ' /proc/net/nf_conntrack |
	grep -v '2a01:4262:01ab:0020:0000:0000:0000:007[12]' | wc -l
4071

[root@space ~]# wc -l /proc/net/nf_conntrack
39138 /proc/net/nf_conntrack

Currently 4071 out of 39138 connections are not Tor related.

Also reading /proc/net/nf_conntrack is quite slow atm.:

[root@space ~]# time cat /proc/net/nf_conntrack &gt; /dev/null

real    0m35.097s
user    0m0.010s
sys     0m28.114s

Signed-off-by: Asbjørn Sloth Tønnesen &lt;asbjorn@labitat.dk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the Tor exit nodes to their own VLAN, and
their own address space.

Background for move
-------------------

For the first Tor exit node, we where able to
create inet6num object 2a01:4262:1ab:20::71/128.
So we could assign a specific Tor abuse contact.

When we added the second node it was no longer
possible to create /128 inet6num objects, but
only up to /64. We therefore need to move our
Tor exit nodes to a dedicated address space.

Connection tracking
-------------------

Connection tracking is quite expensive, so
it's better to only do it for Tor traffic,
when we actually need it, which is only when
internal clients need to access the servers.

In the future conntrack could also be disabled
for labicolo in general.

Current stats
~~~~~~~~~~~~~

[root@space ~]# grep -v '185\.38\.175\.7[12] ' /proc/net/nf_conntrack |
	grep -v '2a01:4262:01ab:0020:0000:0000:0000:007[12]' | wc -l
4071

[root@space ~]# wc -l /proc/net/nf_conntrack
39138 /proc/net/nf_conntrack

Currently 4071 out of 39138 connections are not Tor related.

Also reading /proc/net/nf_conntrack is quite slow atm.:

[root@space ~]# time cat /proc/net/nf_conntrack &gt; /dev/null

real    0m35.097s
user    0m0.010s
sys     0m28.114s

Signed-off-by: Asbjørn Sloth Tønnesen &lt;asbjorn@labitat.dk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>space_server: enable NAT64/DNS64 network</title>
<updated>2018-12-05T18:21:39+00:00</updated>
<author>
<name>Emil Renner Berthing</name>
<email>esmil@labitat.dk</email>
</author>
<published>2018-12-05T18:07:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.2e8.dk/labitat/labitat-ansible/commit/?id=c624e52a8357da8db022831b86f2c85bb7bfed2f'/>
<id>c624e52a8357da8db022831b86f2c85bb7bfed2f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>space_server: drop uneccessary subdirs</title>
<updated>2018-11-10T21:30:23+00:00</updated>
<author>
<name>Emil Renner Berthing</name>
<email>esmil@labitat.dk</email>
</author>
<published>2018-09-26T11:16:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.2e8.dk/labitat/labitat-ansible/commit/?id=9454fdbff511e965e4fd9eb187b7fe432dcd437e'/>
<id>9454fdbff511e965e4fd9eb187b7fe432dcd437e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
