X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/c4ce6af0a07a0ef041fcfd09125cc0557894722d..08fc0ba23fbe10c57d2845be9a6b0e80241d9539:/docs/network.tex diff --git a/docs/network.tex b/docs/network.tex index 7d811ba7f..e4efd8df9 100644 --- a/docs/network.tex +++ b/docs/network.tex @@ -1,4 +1,4 @@ -The network configuration in Kamikaze is stored in \texttt{/etc/config/network} +The network configuration is stored in \texttt{/etc/config/network} and is divided into interface configurations. Each interface configuration either refers directly to an ethernet/wifi interface (\texttt{eth0}, \texttt{wl0}, ..) or to a bridge containing multiple interfaces. @@ -22,7 +22,12 @@ of interfaces and add: \end{Verbatim} It is possible to use VLAN tagging on an interface simply by adding the VLAN IDs -to it, e.g. \texttt{eth0.1}. These can be nested as well. +to it, e.g. \texttt{eth0.1}. These can be nested as well. See the switch section for +this. + +\begin{Verbatim} +config inter +\end{Verbatim} This sets up a simple static configuration for \texttt{eth0}. \texttt{proto} specifies the protocol used for the interface. The default image usually provides \texttt{'none'} @@ -31,9 +36,27 @@ packages. When using the \texttt{'static'} method like in the example, the options \texttt{ipaddr} and \texttt{netmask} are mandatory, while \texttt{gateway} and \texttt{dns} are optional. +You can specify more than one DNS server, separated with spaces: + +\begin{Verbatim} +config interface "lan" + option ifname "eth0" + option proto "static" + ... + option dns "192.168.1.254 192.168.1.253" (optional) +\end{Verbatim} + DHCP currently only accepts \texttt{ipaddr} (IP address to request from the server) and \texttt{hostname} (client hostname identify as) - both are optional. +\begin{Verbatim} +config interface "lan" + option ifname "eth0" + option proto "dhcp" + option ipaddr "192.168.1.1" (optional) + option hostname "openwrt" (optional) +\end{Verbatim} + PPP based protocols (\texttt{pppoe}, \texttt{pptp}, ...) accept these options: \begin{itemize} \item{username} \\ @@ -53,6 +76,16 @@ PPP based protocols (\texttt{pppoe}, \texttt{pptp}, ...) accept these options: \end{itemize} For all protocol types, you can also specify the MTU by using the \texttt{mtu} option. +A sample PPPoE config would look like this: + +\begin{Verbatim} +config interface "lan" + option ifname "eth0" + option proto "pppoe" + option username "username" + option password "openwrt" + option mtu 1492 (optional) +\end{Verbatim} \subsubsection{Setting up static routes} @@ -102,3 +135,76 @@ As value it takes a list of ports with these optional suffixes: The CPU port defaults to tagged, all other ports to untagged. On Broadcom hardware the CPU port is always 5. The other ports may vary with different hardware. + +For instance, if you wish to have 3 vlans, like one 3-port switch, 1 port in a +DMZ, and another one as your WAN interface, use the following configuration : + +\begin{Verbatim} +config switch "eth0" + option vlan0 "1 2 3 5*" + option vlan1 "0 5" + option vlan2 "4 5" +\end{Verbatim} + +Three interfaces will be automatically created using this switch layout : +\texttt{eth0.0} (vlan0), \texttt{eth0.1} (vlan1) and \texttt{eth0.2} (vlan2). +You can then assign those interfaces to a custom network configuration name +like \texttt{lan}, \texttt{wan} or \texttt{dmz} for instance. + +\subsubsection{Setting up IPv6 connectivity} + +OpenWrt supports IPv6 connectivity using PPP, Tunnel brokers or static +assignment. + +If you use PPP, IPv6 will be setup using IP6CP and there is nothing to +configure. + +To setup an IPv6 tunnel to a tunnel broker, you can install the +\texttt{6scripts} package and edit the \texttt{/etc/config/6tunnel} +file and change the settings accordingly : + +\begin{Verbatim} +config 6tunnel + option tnlifname 'sixbone' + option remoteip4 '1.0.0.1' + option localip4 '1.0.0.2' + option localip6 '2001::DEAD::BEEF::1' +\end{Verbatim} + +\begin{itemize} + \item{\texttt{'tnlifname'}:} + Set the interface name of the IPv6 in IPv4 tunnel + \item{\texttt{'remoteip4'}:} + IP address of the remote end to establish the 6in4 tunnel. + This address is given by the tunnel broker + \item{\texttt{'localip4'}:} + IP address of your router to establish the 6in4 tunnel. + It will usually match your WAN IP address. + \item{\texttt{'localip6'}:} + IPv6 address to setup on your tunnel side + This address is given by the tunnel broker +\end{itemize} + +Using the same package you can also setup an IPv6 bridged connection : + +\begin{Verbatim} +config 6bridge + option bridge 'br6' +\end{Verbatim} + +By default the script bridges the WAN interface with the LAN interface +and uses ebtables to filter anything that is not IPv6 on the bridge. +This configuration is particularly useful if your router is not +IPv6 ND proxy capable (see: http://www.rfc-archive.org/getrfc.php?rfc=4389). + + +IPv6 static addressing is also supported using a similar setup as +IPv4 but with the \texttt{ip6} prefixing (when applicable). + +\begin{Verbatim} +config interface "lan" + option ifname "eth0" + option proto "static" + option ip6addr "fe80::200:ff:fe00:0/64" + option ip6gw "2001::DEAF:BEE:1" +\end{Verbatim}