X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=docs%2Fnetwork.tex;h=cf1200dcd43e0081ebfea483cf4087d92414e86b;hp=df67eed714d2f874bec8c799f64ffc8cfa29d2a2;hb=952beca4aae97e43502efb05a5823798947de524;hpb=216eb4e8b096c1af825d6b81c1e9398ae1e3706f diff --git a/docs/network.tex b/docs/network.tex index df67eed714..cf1200dcd4 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,14 @@ 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.15}. These can be nested as well. See the switch section for +this. + +\begin{Verbatim} +config interface + option ifname "eth0.15" + option proto "none" +\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,11 +38,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. +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} \\ @@ -49,12 +72,21 @@ PPP based protocols (\texttt{pppoe}, \texttt{pptp}, ...) accept these options: "," 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. +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} @@ -65,17 +97,17 @@ 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 + 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)} +\subsubsection{Setting up the switch (broadcom only)} The switch configuration is set by adding a \texttt{'switch'} config section. Example: @@ -114,3 +146,86 @@ config switch "eth0" 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 the switch (swconfig)} + +\emph{swconfig} based configurations have a different structure with one extra +section per vlan. The example below shows a typical configuration: + +\begin{Verbatim} +config 'switch' 'eth0' + option 'reset' '1' + option 'enable_vlan' '1' + +config 'switch_vlan' 'eth0_1' + option 'device' 'eth0' + option 'vlan' '1' + option 'ports' '0 1 2 3 5t' + +config 'switch_vlan' 'eth0_2' + option 'device' 'eth0' + option 'vlan' '2' + option 'ports' '4 5t' +\end{Verbatim} + +\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}