You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					629 lines
				
				11 KiB
			
		
		
			
		
	
	
					629 lines
				
				11 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
							 | 
						||
| 
								 | 
							
								<HTML
							 | 
						||
| 
								 | 
							
								><HEAD
							 | 
						||
| 
								 | 
							
								><TITLE
							 | 
						||
| 
								 | 
							
								>Configuring and using a tuntap network interface</TITLE
							 | 
						||
| 
								 | 
							
								><META
							 | 
						||
| 
								 | 
							
								NAME="GENERATOR"
							 | 
						||
| 
								 | 
							
								CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
							 | 
						||
| 
								 | 
							
								REL="HOME"
							 | 
						||
| 
								 | 
							
								TITLE="Bochs User Manual"
							 | 
						||
| 
								 | 
							
								HREF="index.html"><LINK
							 | 
						||
| 
								 | 
							
								REL="UP"
							 | 
						||
| 
								 | 
							
								TITLE="Tips and Techniques"
							 | 
						||
| 
								 | 
							
								HREF="howto.html"><LINK
							 | 
						||
| 
								 | 
							
								REL="PREVIOUS"
							 | 
						||
| 
								 | 
							
								TITLE="Setting Up Networking in DLX Linux"
							 | 
						||
| 
								 | 
							
								HREF="dlxlinux-networking.html"><LINK
							 | 
						||
| 
								 | 
							
								REL="NEXT"
							 | 
						||
| 
								 | 
							
								TITLE="Using Bochs internal debugger"
							 | 
						||
| 
								 | 
							
								HREF="internal-debugger.html"></HEAD
							 | 
						||
| 
								 | 
							
								><BODY
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#FFFFFF"
							 | 
						||
| 
								 | 
							
								TEXT="#000000"
							 | 
						||
| 
								 | 
							
								LINK="#0000FF"
							 | 
						||
| 
								 | 
							
								VLINK="#840084"
							 | 
						||
| 
								 | 
							
								ALINK="#0000FF"
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="NAVHEADER"
							 | 
						||
| 
								 | 
							
								><TABLE
							 | 
						||
| 
								 | 
							
								SUMMARY="Header navigation table"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								CELLPADDING="0"
							 | 
						||
| 
								 | 
							
								CELLSPACING="0"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TH
							 | 
						||
| 
								 | 
							
								COLSPAN="3"
							 | 
						||
| 
								 | 
							
								ALIGN="center"
							 | 
						||
| 
								 | 
							
								>Bochs User Manual</TH
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="10%"
							 | 
						||
| 
								 | 
							
								ALIGN="left"
							 | 
						||
| 
								 | 
							
								VALIGN="bottom"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								HREF="dlxlinux-networking.html"
							 | 
						||
| 
								 | 
							
								ACCESSKEY="P"
							 | 
						||
| 
								 | 
							
								>Prev</A
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="80%"
							 | 
						||
| 
								 | 
							
								ALIGN="center"
							 | 
						||
| 
								 | 
							
								VALIGN="bottom"
							 | 
						||
| 
								 | 
							
								>Chapter 8. Tips and Techniques</TD
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="10%"
							 | 
						||
| 
								 | 
							
								ALIGN="right"
							 | 
						||
| 
								 | 
							
								VALIGN="bottom"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								HREF="internal-debugger.html"
							 | 
						||
| 
								 | 
							
								ACCESSKEY="N"
							 | 
						||
| 
								 | 
							
								>Next</A
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								><HR
							 | 
						||
| 
								 | 
							
								ALIGN="LEFT"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"></DIV
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><H1
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								NAME="CONFIG-TUNTAP"
							 | 
						||
| 
								 | 
							
								>8.10. Configuring and using a tuntap network interface</A
							 | 
						||
| 
								 | 
							
								></H1
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>If you use linux (optionally FreeBSD and Solaris, not tested), 
							 | 
						||
| 
								 | 
							
								you may want to access the network through a tuntap interface. The main
							 | 
						||
| 
								 | 
							
								advantage of this interface, is that the guest has access to the host. The guest can even
							 | 
						||
| 
								 | 
							
								have access to the whole network if the host routes or masquerades the guest requests.
							 | 
						||
| 
								 | 
							
								No extra IP address is needed, all can be done using private IP addresses.</P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>You'll find here instructions to set up Linux/Bochs to provide network access to the guest OS
							 | 
						||
| 
								 | 
							
								through a tuntap interface and private IP network. We're going to see howto :
							 | 
						||
| 
								 | 
							
								<P
							 | 
						||
| 
								 | 
							
								></P
							 | 
						||
| 
								 | 
							
								><UL
							 | 
						||
| 
								 | 
							
								><LI
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>enable the tuntap interface in the Linux Kernel </P
							 | 
						||
| 
								 | 
							
								></LI
							 | 
						||
| 
								 | 
							
								><LI
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>configure Bochs to use the tuntap interface </P
							 | 
						||
| 
								 | 
							
								></LI
							 | 
						||
| 
								 | 
							
								><LI
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>set up the private network between the host and the guest </P
							 | 
						||
| 
								 | 
							
								></LI
							 | 
						||
| 
								 | 
							
								><LI
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>set up the host to masquerade the guest network accesses </P
							 | 
						||
| 
								 | 
							
								></LI
							 | 
						||
| 
								 | 
							
								></UL
							 | 
						||
| 
								 | 
							
								></P
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><H2
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								NAME="AEN2925"
							 | 
						||
| 
								 | 
							
								>8.10.1. Tuntap description</A
							 | 
						||
| 
								 | 
							
								></H2
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>From the <A
							 | 
						||
| 
								 | 
							
								HREF="http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/tuntap.txt"
							 | 
						||
| 
								 | 
							
								TARGET="_top"
							 | 
						||
| 
								 | 
							
								>tuntap.txt</A
							 | 
						||
| 
								 | 
							
								> file in the Linux kernel tree :
							 | 
						||
| 
								 | 
							
								<TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>  TUN/TAP provides packet reception and transmission for user space programs. 
							 | 
						||
| 
								 | 
							
								  It can be viewed as a simple Point-to-Point or Ethernet device, which 
							 | 
						||
| 
								 | 
							
								  instead of receiving packets from a physical media, receives them from 
							 | 
						||
| 
								 | 
							
								  user space program and instead of sending packets via physical media 
							 | 
						||
| 
								 | 
							
								  writes them to the user space program. 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  When a program opens /dev/net/tun, driver creates and registers corresponding
							 | 
						||
| 
								 | 
							
								  net device tunX or tapX. After a program closed above devices, driver will 
							 | 
						||
| 
								 | 
							
								  automatically delete tunXX or tapXX device and all routes corresponding to it.</PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								></P
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><H2
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								NAME="AEN2930"
							 | 
						||
| 
								 | 
							
								>8.10.2. Set up the linux Kernel
							 | 
						||
| 
								 | 
							
								        <A
							 | 
						||
| 
								 | 
							
								NAME="AEN2932"
							 | 
						||
| 
								 | 
							
								HREF="#FTN.AEN2932"
							 | 
						||
| 
								 | 
							
								><SPAN
							 | 
						||
| 
								 | 
							
								CLASS="footnote"
							 | 
						||
| 
								 | 
							
								>[1]</SPAN
							 | 
						||
| 
								 | 
							
								></A
							 | 
						||
| 
								 | 
							
								></A
							 | 
						||
| 
								 | 
							
								></H2
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>First make sure the tuntap module is included in the kernel :
							 | 
						||
| 
								 | 
							
								<P
							 | 
						||
| 
								 | 
							
								></P
							 | 
						||
| 
								 | 
							
								><UL
							 | 
						||
| 
								 | 
							
								><LI
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>if you use a recent distribution, chances are that the needed modules are already build</P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>Make sure that "Kernel module loader" - module auto-loading support is enabled in your kernel.</P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>Add following line to the /etc/modules.conf: <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="90%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								> alias char-major-10-200 tun </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								> </P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>Run: <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="90%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								> depmod -a</PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								> The driver will be automatically loaded when application access /dev/net/tun.</P
							 | 
						||
| 
								 | 
							
								></LI
							 | 
						||
| 
								 | 
							
								><LI
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>Otherwise, recompile the kernel, including the configuration option
							 | 
						||
| 
								 | 
							
								        <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="90%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								> CONFIG_TUN (Network device support -> Universal TUN/TAP device driver support) </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								></LI
							 | 
						||
| 
								 | 
							
								></UL
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								<DIV
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								><B
							 | 
						||
| 
								 | 
							
								>Note: </B
							 | 
						||
| 
								 | 
							
								>Make sure there is a /dev/net/tun device.
							 | 
						||
| 
								 | 
							
								(Can be created with '<B
							 | 
						||
| 
								 | 
							
								CLASS="COMMAND"
							 | 
						||
| 
								 | 
							
								>mkdir /dev/net ; mknod /dev/net/tun c 10 200'</B
							 | 
						||
| 
								 | 
							
								>).</P
							 | 
						||
| 
								 | 
							
								></BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								></P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>In the same way, to use masquerading, you need a kernel with the following options :
							 | 
						||
| 
								 | 
							
								<TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								> CONFIG_IP_NF_CONNTRACK (Connection tracking)
							 | 
						||
| 
								 | 
							
								 CONFIG_IP_NF_IPTABLES (IP tables support)
							 | 
						||
| 
								 | 
							
								 CONFIG_IP_NF_NAT (Full NAT)</PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								<DIV
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								><B
							 | 
						||
| 
								 | 
							
								>Note: </B
							 | 
						||
| 
								 | 
							
								>Some of the other options in this group is probably also needed,
							 | 
						||
| 
								 | 
							
								(but the default setting should be OK).</P
							 | 
						||
| 
								 | 
							
								></BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								></P
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><H2
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								NAME="AEN2954"
							 | 
						||
| 
								 | 
							
								>8.10.3. Configure Bochs to use the tuntap interface</A
							 | 
						||
| 
								 | 
							
								></H2
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>Make sure Bochs has ne2000 support. If you have to recompile Bochs, 
							 | 
						||
| 
								 | 
							
								                <B
							 | 
						||
| 
								 | 
							
								CLASS="COMMAND"
							 | 
						||
| 
								 | 
							
								>--enable-ne2000</B
							 | 
						||
| 
								 | 
							
								> when running <B
							 | 
						||
| 
								 | 
							
								CLASS="COMMAND"
							 | 
						||
| 
								 | 
							
								>./configure</B
							 | 
						||
| 
								 | 
							
								> 
							 | 
						||
| 
								 | 
							
								                (see <A
							 | 
						||
| 
								 | 
							
								HREF="compiling.html"
							 | 
						||
| 
								 | 
							
								>Section 3.4</A
							 | 
						||
| 
								 | 
							
								>)
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>edit your <TT
							 | 
						||
| 
								 | 
							
								CLASS="REPLACEABLE"
							 | 
						||
| 
								 | 
							
								><I
							 | 
						||
| 
								 | 
							
								>.bochsrc</I
							 | 
						||
| 
								 | 
							
								></TT
							 | 
						||
| 
								 | 
							
								> configuration file and add something like :
							 | 
						||
| 
								 | 
							
								                <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>  ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, 
							 | 
						||
| 
								 | 
							
								                          ethmod=tuntap, ethdev=/dev/net/tun0, script=<TT
							 | 
						||
| 
								 | 
							
								CLASS="REPLACEABLE"
							 | 
						||
| 
								 | 
							
								><I
							 | 
						||
| 
								 | 
							
								>/path/to/tunconfig</I
							 | 
						||
| 
								 | 
							
								></TT
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								                </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>                Since the tuntap interface cannot be configured until a process opens it,
							 | 
						||
| 
								 | 
							
								                Bochs may run a script file for you. In this case 
							 | 
						||
| 
								 | 
							
								                <TT
							 | 
						||
| 
								 | 
							
								CLASS="REPLACEABLE"
							 | 
						||
| 
								 | 
							
								><I
							 | 
						||
| 
								 | 
							
								>/path/to/tunconfig</I
							 | 
						||
| 
								 | 
							
								></TT
							 | 
						||
| 
								 | 
							
								> should be changed to match
							 | 
						||
| 
								 | 
							
								                the actual place where you'll create this script.
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><H2
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								NAME="AEN2966"
							 | 
						||
| 
								 | 
							
								>8.10.4. Set up the private network between the host and the guest</A
							 | 
						||
| 
								 | 
							
								></H2
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>        We'll set up a private network between the host and the guest with the following parameters:
							 | 
						||
| 
								 | 
							
								        <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>                Host IP : 192.168.1.1
							 | 
						||
| 
								 | 
							
								                Guest IP : 192.168.1.2
							 | 
						||
| 
								 | 
							
								        </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        If your parameters are different, adapt the rest of the section to suit your needs.
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>        Create the <TT
							 | 
						||
| 
								 | 
							
								CLASS="REPLACEABLE"
							 | 
						||
| 
								 | 
							
								><I
							 | 
						||
| 
								 | 
							
								>/path/to/tunconfig</I
							 | 
						||
| 
								 | 
							
								></TT
							 | 
						||
| 
								 | 
							
								> script :
							 | 
						||
| 
								 | 
							
								        <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>        #!/bin/bash
							 | 
						||
| 
								 | 
							
								        /sbin/ifconfig ${1##/*/} 192.168.1.1
							 | 
						||
| 
								 | 
							
								        </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        The script get the interface name as the first parameter. Linux
							 | 
						||
| 
								 | 
							
								        will forward incoming packets between interfaces.
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>        Make it executable :<TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>chmod 755 <TT
							 | 
						||
| 
								 | 
							
								CLASS="REPLACEABLE"
							 | 
						||
| 
								 | 
							
								><I
							 | 
						||
| 
								 | 
							
								>/path/to/tunconfig</I
							 | 
						||
| 
								 | 
							
								></TT
							 | 
						||
| 
								 | 
							
								></PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>        Run Bochs, install the guest OS, and set the following network parameters in the guest OS:
							 | 
						||
| 
								 | 
							
								        <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>        IP: 192.168.1.2
							 | 
						||
| 
								 | 
							
								        netmask: 255.255.255.0
							 | 
						||
| 
								 | 
							
								        gateway: 192.168.1.1
							 | 
						||
| 
								 | 
							
								        nameserver: whatever is used in linux
							 | 
						||
| 
								 | 
							
								        </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        <DIV
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								><B
							 | 
						||
| 
								 | 
							
								>Note: </B
							 | 
						||
| 
								 | 
							
								>        Bochs must be started by root (at least for now - the
							 | 
						||
| 
								 | 
							
								        script won't have root privileges otherwise).
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								></BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        You may also have to edit /etc/hosts.allow in the host OS and add :
							 | 
						||
| 
								 | 
							
								        <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>        ALL: 192.168.1.2
							 | 
						||
| 
								 | 
							
								        </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        Don't forget to set up the route on the guest.
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>        At this point, you should be able to ping/telnet/ftp/ssh the guest from the host
							 | 
						||
| 
								 | 
							
								        and vice-versa.
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><H2
							 | 
						||
| 
								 | 
							
								CLASS="SECTION"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								NAME="AEN2982"
							 | 
						||
| 
								 | 
							
								>8.10.5. Set up the host to masquerade the guest network accesses</A
							 | 
						||
| 
								 | 
							
								></H2
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>        We are going to set up standard masquerading configuration. Edit
							 | 
						||
| 
								 | 
							
								        the  <TT
							 | 
						||
| 
								 | 
							
								CLASS="REPLACEABLE"
							 | 
						||
| 
								 | 
							
								><I
							 | 
						||
| 
								 | 
							
								>/path/to/tunconfig</I
							 | 
						||
| 
								 | 
							
								></TT
							 | 
						||
| 
								 | 
							
								> script ans add :
							 | 
						||
| 
								 | 
							
								        <TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								BGCOLOR="#E0E0E0"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								><PRE
							 | 
						||
| 
								 | 
							
								CLASS="SCREEN"
							 | 
						||
| 
								 | 
							
								>        /sbin/iptables -D POSTROUTING -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j MASQUERADE >& /dev/null
							 | 
						||
| 
								 | 
							
								        /sbin/iptables -t nat -s 192.168.1.0/24 -d ! 192.168.1.0/24 -A POSTROUTING -j MASQUERADE
							 | 
						||
| 
								 | 
							
								        echo 1 > /proc/sys/net/ipv4/ip_forward
							 | 
						||
| 
								 | 
							
								        </PRE
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        <DIV
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								><B
							 | 
						||
| 
								 | 
							
								>Note: </B
							 | 
						||
| 
								 | 
							
								>        The configuration assumes the default policy is
							 | 
						||
| 
								 | 
							
								        ACCEPT (can be examined by doing '<B
							 | 
						||
| 
								 | 
							
								CLASS="COMMAND"
							 | 
						||
| 
								 | 
							
								>/sbin/iptables -L</B
							 | 
						||
| 
								 | 
							
								>')
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								></BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        <DIV
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								><B
							 | 
						||
| 
								 | 
							
								>Note: </B
							 | 
						||
| 
								 | 
							
								> The iptables package must be installed. </P
							 | 
						||
| 
								 | 
							
								></BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        And voila... The host should forward the packets of the guest to the rest of your network.
							 | 
						||
| 
								 | 
							
								        You could even have acces to the internet...
							 | 
						||
| 
								 | 
							
								        <IMG
							 | 
						||
| 
								 | 
							
								SRC="../images/undercon.png"> add nice screenshot
							 | 
						||
| 
								 | 
							
								        <DIV
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								CLASS="NOTE"
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								><B
							 | 
						||
| 
								 | 
							
								>Note: </B
							 | 
						||
| 
								 | 
							
								>        You may need to load other modules if you want to use other fancy protocols (ftp,etc...)
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								></BLOCKQUOTE
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								>
							 | 
						||
| 
								 | 
							
								        </P
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								><H3
							 | 
						||
| 
								 | 
							
								CLASS="FOOTNOTES"
							 | 
						||
| 
								 | 
							
								>Notes</H3
							 | 
						||
| 
								 | 
							
								><TABLE
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								CLASS="FOOTNOTES"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								ALIGN="LEFT"
							 | 
						||
| 
								 | 
							
								VALIGN="TOP"
							 | 
						||
| 
								 | 
							
								WIDTH="5%"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								NAME="FTN.AEN2932"
							 | 
						||
| 
								 | 
							
								HREF="config-tuntap.html#AEN2932"
							 | 
						||
| 
								 | 
							
								><SPAN
							 | 
						||
| 
								 | 
							
								CLASS="footnote"
							 | 
						||
| 
								 | 
							
								>[1]</SPAN
							 | 
						||
| 
								 | 
							
								></A
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								ALIGN="LEFT"
							 | 
						||
| 
								 | 
							
								VALIGN="TOP"
							 | 
						||
| 
								 | 
							
								WIDTH="95%"
							 | 
						||
| 
								 | 
							
								><P
							 | 
						||
| 
								 | 
							
								>much of the information of the following section is taken from 
							 | 
						||
| 
								 | 
							
								        <A
							 | 
						||
| 
								 | 
							
								HREF="http://maconlinux.org/lists/mol-general/August01/0056.html"
							 | 
						||
| 
								 | 
							
								TARGET="_top"
							 | 
						||
| 
								 | 
							
								>        this email from Samuel Rydh of the Mac-On-Linux list</A
							 | 
						||
| 
								 | 
							
								></P
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								><DIV
							 | 
						||
| 
								 | 
							
								CLASS="NAVFOOTER"
							 | 
						||
| 
								 | 
							
								><HR
							 | 
						||
| 
								 | 
							
								ALIGN="LEFT"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"><TABLE
							 | 
						||
| 
								 | 
							
								SUMMARY="Footer navigation table"
							 | 
						||
| 
								 | 
							
								WIDTH="100%"
							 | 
						||
| 
								 | 
							
								BORDER="0"
							 | 
						||
| 
								 | 
							
								CELLPADDING="0"
							 | 
						||
| 
								 | 
							
								CELLSPACING="0"
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="33%"
							 | 
						||
| 
								 | 
							
								ALIGN="left"
							 | 
						||
| 
								 | 
							
								VALIGN="top"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								HREF="dlxlinux-networking.html"
							 | 
						||
| 
								 | 
							
								ACCESSKEY="P"
							 | 
						||
| 
								 | 
							
								>Prev</A
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="34%"
							 | 
						||
| 
								 | 
							
								ALIGN="center"
							 | 
						||
| 
								 | 
							
								VALIGN="top"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								HREF="index.html"
							 | 
						||
| 
								 | 
							
								ACCESSKEY="H"
							 | 
						||
| 
								 | 
							
								>Home</A
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="33%"
							 | 
						||
| 
								 | 
							
								ALIGN="right"
							 | 
						||
| 
								 | 
							
								VALIGN="top"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								HREF="internal-debugger.html"
							 | 
						||
| 
								 | 
							
								ACCESSKEY="N"
							 | 
						||
| 
								 | 
							
								>Next</A
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								><TR
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="33%"
							 | 
						||
| 
								 | 
							
								ALIGN="left"
							 | 
						||
| 
								 | 
							
								VALIGN="top"
							 | 
						||
| 
								 | 
							
								>Setting Up Networking in DLX Linux</TD
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="34%"
							 | 
						||
| 
								 | 
							
								ALIGN="center"
							 | 
						||
| 
								 | 
							
								VALIGN="top"
							 | 
						||
| 
								 | 
							
								><A
							 | 
						||
| 
								 | 
							
								HREF="howto.html"
							 | 
						||
| 
								 | 
							
								ACCESSKEY="U"
							 | 
						||
| 
								 | 
							
								>Up</A
							 | 
						||
| 
								 | 
							
								></TD
							 | 
						||
| 
								 | 
							
								><TD
							 | 
						||
| 
								 | 
							
								WIDTH="33%"
							 | 
						||
| 
								 | 
							
								ALIGN="right"
							 | 
						||
| 
								 | 
							
								VALIGN="top"
							 | 
						||
| 
								 | 
							
								>Using Bochs internal debugger</TD
							 | 
						||
| 
								 | 
							
								></TR
							 | 
						||
| 
								 | 
							
								></TABLE
							 | 
						||
| 
								 | 
							
								></DIV
							 | 
						||
| 
								 | 
							
								></BODY
							 | 
						||
| 
								 | 
							
								></HTML
							 | 
						||
| 
								 | 
							
								>
							 |