X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/dfe52f0a791b7f715dabfc7c64c08a7d2d423e8b..617d2b48834cb1ca5e8be911ce35da9cfd6816b0:/docs/network.tex?ds=sidebyside diff --git a/docs/network.tex b/docs/network.tex index 1ba1bd9b3..129942504 100644 --- a/docs/network.tex +++ b/docs/network.tex @@ -29,8 +29,10 @@ protocol used for the interface. The default image usually provides \texttt{'non \texttt{'static'}, \texttt{'dhcp'} and \texttt{'pppoe'}. Others can be added by installing additional packages. -When using the \texttt{'static'} method like in the example, the options \texttt{ipaddr} and +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. + DHCP currently only accepts \texttt{ipaddr} (IP address to request from the server) and \texttt{hostname} (client hostname identify as) - both are optional. @@ -43,27 +45,45 @@ PPP based protocols (\texttt{pppoe}, \texttt{pptp}, ...) accept these options: \item{keepalive} \\ Ping the PPP server (using LCP). The value of this option specifies the maximum number of failed pings before reconnecting. - The ping interval defaults to 5, but can be changed by appending + The ping interval defaults to 5, but can be changed by appending "," to the keepalive value \item{demand} \\ Use Dial on Demand (value specifies the maximum idle time. - + \item{server: (pptp)} \\ The remote pptp server IP \end{itemize} - + For all protocol types, you can also specify the MTU by using the \texttt{mtu} option. +\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)} The switch configuration is set by adding a \texttt{'switch'} config section. -Example: +Example: \begin{Verbatim} -config switch eth0 - option vlan0 "1 2 3 4 5*" - option vlan1 "0 5" +config switch "eth0" + option vlan0 "1 2 3 4 5*" + option vlan1 "0 5" \end{Verbatim} On Broadcom hardware the section name needs to be eth0, as the switch driver @@ -82,5 +102,79 @@ As value it takes a list of ports with these optional suffixes: \end{itemize} 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 +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' + option prefix '/64' +\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 + \item{\texttt{'prefix'}:} + IPv6 prefix to setup on the LAN. +\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. + + +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}