I was a network novice two weeks ago. and i thought it was too hard to learn. heck, as getting closer and knowing better, i feel much comfortable about the network stuff. step by step, you can make it work. truse me! These setting base on what i have: RedHat 7.2, WindowsMe,IP Masquerading Firewall rule from http://ipmasq.cjb.net (the IP Masquerading Official site). Following contains how to share internet by doing windows acting as server or linux. IP masquerading and DHCP server ############################################################ Windows as server shares internet with linux #### Windows me #### Control panel -> network -> TCP/IP the second adaptor(which will connect the two pc) -> IP address -> check 'assign IP address' -> IP address is '192.168.0.1' submask is '255.255.255.0' Network Neighbour -> Family Network Guide -> setup server internet using first adaptor and setup lan using the other one #### Linux machine #### neat & Device -> eth0 -> edit -> protocols -> edit -> TCP/IP -> check automaticall obtain address with DHCP Hostname -> check automatically obtain DNS information from provider DNS -> Primaray DNS -> 192.168.0.1 ############################################################ Linux as server #### Windows side #### under "IP address" tab ,setup "IP address" 192.168.0.2 and "subnetwork address" 255.255.255.0 under "gateway" tab, setup gateway as 192.168.0.1 under "DNS config" tab, enter "hostname" of currenta machine, my case "cozy400" hostname is set in the "indentification" tab also set the "domain" to be "easyya.com" in my case. note: the domain name is actually set already in c:/windows/hosts file btw,hosts file doesn't exist initially so must creat it.the content in hosts is : 192.168.0.2 cozy400.easyya.com 192.168.0.1 cozy166.easyya.com one more needed to be set is the name servers , generally can get from /etc/resolv.conf #### Linux side #### first make sure IP masquerading is available and download rc.firewall somewhere on the net RH7.x keeps ipchains and iptable running at the same time. try chkconfig --list | grep ip Most likely both ipchains and iptables will be listed as running (on) So, turn off ipchains by typing : service ipchains stop. then try running rc.firewall script. permanently turn it off by tying chkconfig --level=2345 ipchains off or by changing it through 'ntsysv' of course. and also be sure that the IPtables will not be run twice ( eg: either iptables config to be run as start-up service or is run in rc.firewall, but not Both!) For redhat users may try changing the options in /etc/sysconfig/network from: "FORWARD_IPV4=false" to "FORWARD_IPV4=true" enter `neat &` and config the internal network card: Devices ->eth0 edit-> Protocols ->TCP/IP edit -> uncheck the "automatically .." and fill in the "Manual IP Address Settings" mine in sequence is ' 192.168.0.1 255.255.255.0 192.168.0.1 ' Alternatively, edit /etc/hosts to let it have (in my case): 192.168.0.1 cozy166.easyya.com cozy166 192.168.0.2 cozy400.easyya.com cozy400 127.0.0.1 localhost.localdomain localhost ###################################################### Linux as server with internel DHCP server implemented If no specified mention, all setting will follow the above setting. #### Windows side #### Not much need to be done. just enable 'automatically obtain IP' and Disable DNS as DNS is configured via DHCP. #### Linux side #### note that might need to check firewall ruleset, since DHCP server use 67/68 port, these ports might get disable in the firewall ruleset. 1. make sure the result of the internel NIC of 'ifconfig' has 'Multicast'. 2. make sure both /var/lib/dhcp/dhcpd.leases and /etc/dhcpd.conf exist if not `touch` them. fill in dhcpd.conf as following : default-lease-time 3600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option domain-name-servers 192.168.0.10, 192.168.0.11; option domain-name "yourdomain.com"; # set host cozy400 a fix IP host cozy400 { hardware ethernet 00:80:c6:f2:cf:b3; fixed-address 192.168.0.2; } # wins config for using samba.. option netbios-name-servers 192.168.0.1; option netbios-dd-server 192.168.0.1; option netbios-node-type 8; option netbios-scope ""; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.50 192.168.1.100; range 192.168.1.150 192.168.1.200; } Note domain-name-servers, if you have ur own DNS server up running,provide them here,otherwise use ur ISP's nameserver 3. add `route add -host 255.255.255.255 dev eth0` and `/usr/sbin/dhcpd eth0` into /etc/rc.d/rc.local note again eth0 is my internel NIC If are going to run samba file sharing on the linux box for your linux box for your windows ocmputers,add couple line to use the linux box as the default WINS and browsing server. option netbios-name-servers 192.168.0.1; option netbios-dd-server 192.168.0.1; option netbios-node-type 8; option netbios-scope ""; and edit /etc/samba.conf to umcomment these two lines: wins support = yes wins proxy = yes WINS allow to declare, on the network, a server which holds a list of links between IPs and "name of several domains". It is a sort of master for networks R1 and R2. hmmm,that's pretty much it is..or just all i remember :) ############# VNC 28 install vnc (for a headless faxserver with kde) untar and copy vnc* Xvnc /usr/bin run ./vncserver once so it will created default files kill it by running vncserver -kill :1 modify /root/.vnx/xsetup and change the last line to reads startkde & add startup line to rc.local /bin/su root -c "/usr/bin/vncserver -depth 24 :1"