summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/stf.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/stf.4 3.html')
-rw-r--r--static/freebsd/man4/stf.4 3.html226
1 files changed, 0 insertions, 226 deletions
diff --git a/static/freebsd/man4/stf.4 3.html b/static/freebsd/man4/stf.4 3.html
deleted file mode 100644
index 6dd421ff..00000000
--- a/static/freebsd/man4/stf.4 3.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">STF(4)</td>
- <td class="head-vol">Device Drivers Manual</td>
- <td class="head-rtitle">STF(4)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">stf</code> &#x2014; <span class="Nd">6to4 tunnel
- interface</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp"><code class="Cd">device stf</code></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The <code class="Nm">stf</code> interface supports
- &#x201C;6to4&#x201D; and &#x201C;6rd&#x201D; IPv6 in IPv4 encapsulation. It
- can tunnel IPv6 traffic over IPv4, as specified in
- <code class="Li">RFC3056</code> or <code class="Li">RFC5969</code>.</p>
-<p class="Pp">For ordinary nodes in a 6to4 or 6RD site, you do not need
- <code class="Nm">stf</code> interface. The <code class="Nm">stf</code>
- interface is necessary for site border routers (called &#x201C;6to4
- routers&#x201D; or &#x201C;6rd Customer Edge (CE)&#x201D; in the
- specification).</p>
-<p class="Pp">Each <code class="Nm">stf</code> interface is created at runtime
- using interface cloning. This is most easily done with the
- <a class="Xr">ifconfig(8)</a> <code class="Cm">create</code> command or
- using the <var class="Va">cloned_interfaces</var> variable in
- <a class="Xr">rc.conf(5)</a>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="6to4"><a class="permalink" href="#6to4">6to4</a></h1>
-<p class="Pp">Due to the way 6to4 protocol is specified,
- <code class="Nm">stf</code> interface requires certain configuration to work
- properly. Single (no more than 1) valid 6to4 address needs to be configured
- to the interface. &#x201C;A valid 6to4 address&#x201D; is an address which
- has the following properties. If any of the following properties are not
- satisfied, <code class="Nm">stf</code> raises runtime error on packet
- transmission. Read the specification for more details.</p>
-<ul class="Bl-bullet">
- <li>matches <code class="Li">2002:xxyy:zzuu::/48</code> where
- <code class="Li">xxyy:zzuu</code> is a hexadecimal notation of an IPv4
- address for the node. IPv4 address can be taken from any of interfaces
- your node has. Since the specification forbids the use of IPv4 private
- address, the address needs to be a global IPv4 address.</li>
- <li>Subnet identifier portion (48th to 63rd bit) and interface identifier
- portion (lower 64 bits) are properly filled to avoid address
- collisions.</li>
-</ul>
-<p class="Pp">If you would like the node to behave as a relay router, the prefix
- length for the IPv6 interface address needs to be 16 so that the node would
- consider any 6to4 destination as &#x201C;on-link&#x201D;. If you would like
- to restrict 6to4 peers to be inside certain IPv4 prefix, you may want to
- configure IPv6 prefix length as &#x201C;16 + IPv4 prefix length&#x201D;.
- <code class="Nm">stf</code> interface will check the IPv4 source address on
- packets, if the IPv6 prefix length is larger than 16.</p>
-<p class="Pp"><code class="Nm">stf</code> can be configured to be ECN friendly.
- This can be configured by <code class="Dv">IFF_LINK1</code>. See
- <a class="Xr">gif(4)</a> for details.</p>
-<p class="Pp">Please note that 6to4 specification is written as &#x201C;accept
- tunnelled packet from everyone&#x201D; tunnelling device. By enabling
- <code class="Nm">stf</code> device, you are making it much easier for
- malicious parties to inject fabricated IPv6 packet to your node. Also,
- malicious party can inject an IPv6 packet with fabricated source address to
- make your node generate improper tunnelled packet. Administrators must take
- caution when enabling the interface. To prevent possible attacks,
- <code class="Nm">stf</code> interface filters out the following packets.
- Note that the checks are no way complete:</p>
-<ul class="Bl-bullet">
- <li>Packets with IPv4 unspecified address as outer IPv4 source/destination
- (<code class="Li">0.0.0.0/8</code>)</li>
- <li>Packets with loopback address as outer IPv4 source/destination
- (<code class="Li">127.0.0.0/8</code>)</li>
- <li>Packets with IPv4 multicast address as outer IPv4 source/destination
- (<code class="Li">224.0.0.0/4</code>)</li>
- <li>Packets with limited broadcast address as outer IPv4 source/destination
- (<code class="Li">255.0.0.0/8</code>)</li>
- <li>Packets with private address as outer IPv4 source/destination
- (<code class="Li">10.0.0.0/8</code>,
- <code class="Li">172.16.0.0/12</code>,
- <code class="Li">192.168.0.0/16</code>)</li>
- <li>Packets with subnet broadcast address as outer IPv4 source/destination.
- The check is made against subnet broadcast addresses for all of the
- directly connected subnets.</li>
- <li>Packets that does not pass ingress filtering. Outer IPv4 source address
- must meet the IPv4 topology on the routing table. Ingress filter can be
- turned off by <code class="Dv">IFF_LINK2</code> bit.</li>
- <li>The same set of rules are applied against the IPv4 address embedded into
- inner IPv6 address, if the IPv6 address matches 6to4 prefix.</li>
-</ul>
-<p class="Pp">It is recommended to filter/audit incoming IPv4 packet with IP
- protocol number 41, as necessary. It is also recommended to filter/audit
- encapsulated IPv6 packets as well. You may also want to run normal ingress
- filter against inner IPv6 address to avoid spoofing.</p>
-<p class="Pp">By setting the <code class="Dv">IFF_LINK0</code> flag on the
- <code class="Nm">stf</code> interface, it is possible to disable the input
- path, making the direct attacks from the outside impossible. Note, however,
- there are other security risks exist. If you wish to use the configuration,
- you must not advertise your 6to4 address to others.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="6rd"><a class="permalink" href="#6rd">6rd</a></h1>
-<p class="Pp">Like &#x201C;6to4&#x201D; &#x201C;6rd&#x201D; also requires
- configuration before it can be used. The required configuration parameters
- are:</p>
-<ul class="Bl-bullet">
- <li>The IPv6 address and prefix length.</li>
- <li>The border router IPv4 address.</li>
- <li>The IPv4 WAN address.</li>
- <li>The prefix length of the IPv4 WAN address.</li>
-</ul>
-<p class="Pp">These parameters are all configured through
- <a class="Xr">ifconfig(8)</a>.</p>
-<p class="Pp">The IPv6 address and prefix length can be configured like any
- other IPv6 address. Note that the prefix length is the IPv6 prefix length
- excluding the embedded IPv4 address bits. The prefix length of the delegated
- network is the sum of the IPv6 prefix length and the IPv4 prefix length.</p>
-<p class="Pp">The border router IPv4 address is configured with the
- <a class="Xr">ifconfig(8)</a> <code class="Cm">stfv4br</code> command.</p>
-<p class="Pp">The IPv4 WAN address and IPv4 prefix length are configured using
- the <a class="Xr">ifconfig(8)</a> <code class="Cm">stfv4net</code>
- command.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
- VARIABLES</a></h1>
-<p class="Pp">The following <a class="Xr">sysctl(8)</a> variables can be used to
- control the behavior of the <code class="Nm">stf</code>. The default value
- is shown next to each variable.</p>
-<dl class="Bl-tag">
- <dt id="net.link.stf.permit_rfc1918"><var class="Va">net.link.stf.permit_rfc1918</var>:
- <span class="No">0</span></dt>
- <dd>The RFC3056 requires the use of globally unique 32-bit IPv4 addresses.
- This sysctl variable controls the behaviour of this requirement. When it
- set to not 0, <code class="Nm">stf</code> allows the use of private IPv4
- addresses described in the RFC1918. This may be useful for an Intranet
- environment or when some mechanisms of network address translation (NAT)
- are used.</dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
-<p class="Pp">Note that <code class="Li">8504:0506</code> is equal to
- <code class="Li">133.4.5.6</code>, written in hexadecimals.</p>
-<div class="Bd Pp Li">
-<pre># ifconfig ne0 inet 133.4.5.6 netmask 0xffffff00
-# ifconfig stf0 inet6 2002:8504:0506:0000:a00:5aff:fe38:6f86 \
- prefixlen 16 alias</pre>
-</div>
-<p class="Pp">The following configuration accepts packets from IPv4 source
- <code class="Li">9.1.0.0/16</code> only. It emits 6to4 packet only for IPv6
- destination 2002:0901::/32 (IPv4 destination will match
- <code class="Li">9.1.0.0/16</code>).</p>
-<div class="Bd Pp Li">
-<pre># ifconfig ne0 inet 9.1.2.3 netmask 0xffff0000
-# ifconfig stf0 inet6 2002:0901:0203:0000:a00:5aff:fe38:6f86 \
- prefixlen 32 alias</pre>
-</div>
-<p class="Pp">The following configuration uses the <code class="Nm">stf</code>
- interface as an output-only device. You need to have alternative IPv6
- connectivity (other than 6to4) to use this configuration. For outbound
- traffic, you can reach other 6to4 networks efficiently via
- <code class="Nm">stf</code>. For inbound traffic, you will not receive any
- 6to4-tunneled packets (less security drawbacks). Be careful not to advertise
- your 6to4 prefix to others (<code class="Li">2002:8504:0506::/48</code>),
- and not to use your 6to4 prefix as a source.</p>
-<div class="Bd Pp Li">
-<pre># ifconfig ne0 inet 133.4.5.6 netmask 0xffffff00
-# ifconfig stf0 inet6 2002:8504:0506:0000:a00:5aff:fe38:6f86 \
- prefixlen 16 alias deprecated link0
-# route add -inet6 2002:: -prefixlen 16 ::1
-# route change -inet6 2002:: -prefixlen 16 ::1 -ifp stf0</pre>
-</div>
-<p class="Pp">The following example configures a &#x201C;6rd&#x201D; tunnel on a
- &#x201C;6rd CE&#x201D; where the ISP's &#x201C;6rd&#x201D; IPv6 prefix is
- 2001:db8::/32. The border router is 192.0.2.1. The &#x201C;6rd CE&#x201D;
- has a WAN address of 192.0.2.2 and the full IPv4 address is embedded in the
- &#x201C;6rd IPv6 address:&#x201D;</p>
-<div class="Bd Pp Li">
-<pre># ifconfig stf0 inet6 2001:db8:c000:0202:: prefixlen 32 up
-# ifconfig stf0 stfv4br 192.0.2.1
-# ifconfig stf0 stfv4net 192.0.2.2/32</pre>
-</div>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">gif(4)</a>, <a class="Xr">inet(4)</a>,
- <a class="Xr">inet6(4)</a></p>
-<p class="Pp"><cite class="Rs"><span class="RsA">Brian Carpenter</span> and
- <span class="RsA">Keith Moore</span>, <span class="RsT">Connection of IPv6
- Domains via IPv4 Clouds</span>, <span class="RsR">RFC</span>,
- <span class="RsN">3056</span>, <span class="RsD">February
- 2001</span>.</cite></p>
-<p class="Pp"><cite class="Rs"><span class="RsA">Jun-ichiro itojun
- Hagino</span>, <span class="RsT">Possible abuse against IPv6 transition
- technologies</span>,
- <span class="RsN">draft-itojun-ipv6-transition-abuse-01.txt</span>,
- <span class="RsD">July 2000</span>, <span class="RsO">work in
- progress</span>.</cite></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
-<p class="Pp">The <code class="Nm">stf</code> device first appeared in WIDE/KAME
- IPv6 stack.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
-<p class="Pp">No more than one <code class="Nm">stf</code> interface is allowed
- for a node, and no more than one IPv6 interface address is allowed for an
- <code class="Nm">stf</code> interface. It is to avoid source address
- selection conflicts between IPv6 layer and IPv4 layer, and to cope with
- ingress filtering rule on the other side. This is a feature to make
- <code class="Nm">stf</code> work right for all occasions.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">November 16, 2021</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>