2014-08-24 18:18:18 +01:00
|
|
|
<section xmlns="http://docbook.org/ns/docbook"
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
|
|
version="5.0"
|
|
|
|
xml:id="sec-firewall">
|
|
|
|
|
|
|
|
<title>Firewall</title>
|
|
|
|
|
|
|
|
<para>NixOS has a simple stateful firewall that blocks incoming
|
|
|
|
connections and other unexpected packets. The firewall applies to
|
|
|
|
both IPv4 and IPv6 traffic. It is enabled by default. It can be
|
|
|
|
disabled as follows:
|
|
|
|
|
|
|
|
<programlisting>
|
2018-04-05 09:43:56 +01:00
|
|
|
<xref linkend="opt-networking.firewall.enable"/> = false;
|
2014-08-24 18:18:18 +01:00
|
|
|
</programlisting>
|
|
|
|
|
|
|
|
If the firewall is enabled, you can open specific TCP ports to the
|
|
|
|
outside world:
|
|
|
|
|
|
|
|
<programlisting>
|
2018-04-05 09:43:56 +01:00
|
|
|
<xref linkend="opt-networking.firewall.allowedTCPPorts"/> = [ 80 443 ];
|
2014-08-24 18:18:18 +01:00
|
|
|
</programlisting>
|
|
|
|
|
|
|
|
Note that TCP port 22 (ssh) is opened automatically if the SSH daemon
|
2018-04-05 09:43:56 +01:00
|
|
|
is enabled (<option><xref linkend="opt-services.openssh.enable"/> = true</option>). UDP
|
2014-08-24 18:18:18 +01:00
|
|
|
ports can be opened through
|
2018-04-05 09:43:56 +01:00
|
|
|
<xref linkend="opt-networking.firewall.allowedUDPPorts"/>.</para>
|
2017-12-10 13:36:44 +00:00
|
|
|
|
|
|
|
<para>To open ranges of TCP ports:
|
|
|
|
|
|
|
|
<programlisting>
|
2018-04-05 09:43:56 +01:00
|
|
|
<xref linkend="opt-networking.firewall.allowedTCPPortRanges"/> = [
|
2017-12-10 13:36:44 +00:00
|
|
|
{ from = 4000; to = 4007; }
|
|
|
|
{ from = 8000; to = 8010; }
|
|
|
|
];
|
|
|
|
</programlisting>
|
|
|
|
|
|
|
|
Similarly, UDP port ranges can be opened through
|
2018-04-05 09:43:56 +01:00
|
|
|
<xref linkend="opt-networking.firewall.allowedUDPPortRanges"/>.</para>
|
2017-12-10 13:36:44 +00:00
|
|
|
|
|
|
|
<para>Also of interest is
|
2014-08-24 18:18:18 +01:00
|
|
|
|
|
|
|
<programlisting>
|
2018-04-05 09:43:56 +01:00
|
|
|
<xref linkend="opt-networking.firewall.allowPing"/> = true;
|
2014-08-24 18:18:18 +01:00
|
|
|
</programlisting>
|
|
|
|
|
|
|
|
to allow the machine to respond to ping requests. (ICMPv6 pings are
|
|
|
|
always allowed.)</para>
|
|
|
|
|
|
|
|
</section>
|