X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/d9219238b05cc37112dd11427581e1aa6b502b33..8daecfbcff7b175b9a13ee4e8bb92365f20921b1:/docs/network.tex diff --git a/docs/network.tex b/docs/network.tex index 41febef8a..793a39822 100644 --- a/docs/network.tex +++ b/docs/network.tex @@ -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,7 +76,35 @@ 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} +You can set up static routes for a specific interface that will be brought up +after the interface is configured. + +Simply add a config section like this: + +\begin{Verbatim} +config route foo + option interface lan + option target 1.1.1.0 + option netmask 255.255.255.0 + option gateway 192.168.1.1 +\end{Verbatim} + +The name for the route section is optional, the \texttt{interface}, \texttt{target} and +\texttt{gateway} options are mandatory. +Leaving out the \texttt{netmask} option will turn the route into a host route. \subsubsection{Setting up the switch (currently broadcom only)} @@ -84,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}