Tuesday, December 16, 2014

How to create local LAN with Internet sharing (NAT)


Tag/tag.png
Style Cleanup Required
This article does not follow the style standards in the Wiki Guide. More info...

Introduction

Internet Connection Sharing (ICS) provides the ability for one computer to share its Internet connection with another computer. To do this, a computer with an Internet connection must be configured to function as an Internet gateway. A second computer (or network of computers) connects to the Internet indirectly via the gateway computer.
Situations in which ICS may be necessary include:
  • Dial-up connection.
  • Authenticated (PPPoA/E) connection.
  • Wireless connection.
  • When it is impractical (such as with distance) to run multiple network cables to each computer.

GUI Method via Network Manager (Ubuntu 12.04)

Open Settings->Network->Wireless and create a new Ad Hoc network. To use a common denominator for all devices choose WEP for security and create a 5 letters password from 0..9A..F. Note that this a least secure encryption standard.

GUI Method via Network Manager (Ubuntu 11.10)

Follow the GUI Method via Network Manager (Ubuntu 9.10 and up) below but there is a bug which turn off and on the share connection. The workaround for now is to set IPv6 options to Ignore and then sudo killall dnsmasq. Reconnect and it should work.

GUI Method via Network Manager (Ubuntu 9.10 and up)

In order to share an Internet connection, the computer that will do the sharing must have two network cards or ports. This assumes that you are using at least one Ethernet port and that it is identified as "eth0". eth0 will be the port that other computers will connect to you on.
When you are logged in:
  • Go to "System" on your top bar.
  • Navigate to "Preferences" and select "Network Connections".
  • When that window opens, select "Auto eth0", and press "Edit" (This assumes that you are connected to the Internet on some other port, for example wlan0 using wireless).
A new window will open. Navigate to the tab titled "IPv4 Settings", and change the Method to "Shared to other computers". After restarting the computer, you should now be able to plug in any computer into your other Ethernet port or share through your wireless card.
Note: To clarify the above example, here is an example configuration that will work:
  1. You are already connected to the Internet using your wireless on port wlan0.
  2. The Ethernet port eth0 is connected to the PC that needs to share your Internet connection (or you could wire eth0 to a router for multiple machines).
Note: In the case of connecting a router, especially one with wireless, where you want the users to share your connection: 
  1. Check before you start (in Synaptic or with dpkg-query -l dnsmasq*) that dnsmasq-base is installed and that dnsmasq is not installed. Install or uninstall as appropriate (see next section).
  2. After connecting the router, to enable masquerading, type:
sudo iptables -t nat -A POSTROUTING -j MASQUERADE

Wireless Ad-Hoc connection sharing scenario

Step-by-step guide:
  • dnsmasq-base has to be installed:
sudo apt-get install dnsmasq-base
sudo apt-get remove dnsmasq
sudo /etc/init.d/network-manager restart
  • Add a new wireless network with NetworkManager (left-click on NetworkManager icon, then select "Create New Wireless Network").
  • Call the new network "UbuntuAdhoc" (Note: If you choose another name, you will have to turn on connection sharing later by editing the network that you just created).
  • Set encryption to "WEP40..." (Note: You may have to experiment here according to what type of encryption with ad-hoc the device supports.WPA is not supported).
NetworkManager now should connect to itself (which means it creates the ad-hoc wireless network and routes any Internet traffic to your wired network interface). Now, connect with the client(s), and you should have a working Internet connection.

Ubuntu Internet Gateway Method (iptables)

You will need two network cards in the gateway computer, or a PPP interface and a network card. One network card (or PPP interface) connects to the Internet. We will call this card eth0. The other card connects to your internal network. We will call this eth1. It is also possible to do ICS with a single network card. In this case, use eth0 for the Internet and eth0:0 for the internal network.
  1. Internet <<==>> eth0 <> Ubuntu gateway <> eth1 <<==>> Client PC
  2. Internet <<==>> ppp0 <> Ubuntu gateway <> eth1 <<==>> Client PC
  3. Internet <<==>> eth0 <> Ubuntu gateway <> eth0:0 <<==>> Client PC

Gateway set up

The following example will focus on the most common gateway setup: an Ubuntu computer with two wired network adapters (eth0 and eth1) hosting ICS to a static internal network configured for the 192.168.0.x subnet.
For this example, eth0 is used to represent the network card connected to the Internet, and eth1 represents the network card connected to a client PC. You can replace eth0 and eth1 as needed for your situation. Also, any private IP subnet can be used for the internal network IP addresses.
In summary:
  • eth0 = the network adapter with internet (external or WAN).
    eth1 = the network adapter to which a second computer is attached (internal or LAN).
    192.168.0.x = IP subnet for eth1
Your setup may be different. If so, make sure to change them accordingly in the following commands.

Configure internal network card

Configure your internal network card (eth1) for static IP like so:
sudo ip addr add 192.168.0.1/24 dev eth1
The external and internal network cards cannot be on the same subnet.
Configure NAT
Configure iptables for NAT translation so that packets can be correctly routed through the Ubuntu gateway.
sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
The first rule allows forwarded packets (initial ones). The second rule allows forwarding of established connection packets (and those related to ones that started). The third rule does the NAT.
IPtables settings need to be set-up at each boot (they are not saved automatically), with the following commands:
  • Save the iptables:
sudo iptables-save | sudo tee /etc/iptables.sav
  • Edit /etc/rc.local and add the following lines before the "exit 0" line:
iptables-restore < /etc/iptables.sav

Enable routing

  • Configure the gateway for routing between two interfaces by enabling IP forwarding:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
  • Edit /etc/sysctl.conf, and (up to 10.04) add these lines:
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
The /etc/sysctl.conf edit is required because of the following bug in Hardy and later releases: Launchpad Bug Report
  • From 10.10 onwards, it suffices to edit /etc/sysctl.conf and uncomment:
#net.ipv4.ip_forward=1
... so that it reads:
net.ipv4.ip_forward=1

Client set up

Any OS can connect to the Internet as an ICS client as long as networking has been configured correctly. The following example will focus on how to set up an Ubuntu ICS client. For this example, it is assumed that the client is connected to an Ubuntu gateway, which has been configured to share ICS on the 192.168.0.x subnet according to the gateway set up outlined above.
For this example, eth0 is the network card on the client which is connected (by crossover cable) to eth1 on the Ubuntu gateway. You can replace eth0 as needed for your situation. Also, any private IP subnet can be used for the internal network IP address, as long as it matches the subnet on the gateway.

Disable networking

sudo /etc/init.d/networking stop

Give the client a static IP address

sudo ip addr add 192.168.0.100/24 dev eth0
This IP address can be anything within the gateway's private IP range.

Configure routing

sudo ip route add default via 192.168.0.1
This address should match the IP address on the gateway's internal network card (eth1 in the above example).

Configure DNS servers

Unless your ICS gateway can also perform DNS, you must manually configure the client with your ISP DNS servers. If you do not know your ISP's DNS servers, you can use OpenDNS servers instead.
  • Backup your current /etc/resolve.conf file:
sudo cp /etc/resolv.conf /etc/resolv.conf.backup
  • Open /etc/dhcp3/dhclient.conf with your favorite text editor:
sudo nano /etc/dhcp3/dhclient.conf
  • Search for the line that starts "prepend domain-name-servers", and change it to look like this:
prepend domain-name-servers 208.67.222.222,208.67.220.220;
208.67.222.222 and 208.67.220.220 are OpenDNS DNS servers. If you wish to use your ISP's DNS servers, use them here instead of the OpenDNS servers.

Restart networking

sudo /etc/init.d/networking restart
Once this is finished, your client will now have access to the Internet via ICS. Please direct any questions/comments to the Internet Connection Sharing Documentation thread.

A beginner's working example of a Ubuntu Desktop with 2 NIC cards, sharing Internet connection: http://ubuntuforums.org/showthread.php?p=3713684

Advanced Gateway Configuration

The above example outlines how to do basic ICS on a static IP network. Once you have configured your Ubuntu computers for ICS and confirmed that everything works across your static network, there are a few advanced routing configurations which can make it much easier to set up the ICS client.
Advanced configurations include DHCP server and DNS server. A DHCP server allows the client to get an IP address automatically without having to manually configure a static IP. A DNS server allows the client to resolve Internet host names without manually configuring DNS addresses.

DHCP/DNS server

This is deceptively easy, and will be acceptable for most situations. However, it will not allow the ICS client to see computers on different subnets.
  • Install software.
sudo aptitude install dnsmasq
  • Stop the server. After dnsmasq has been installed, it is automatically started, so it will need to be stopped before changes can be made.
sudo /etc/init.d/dnsmasq stop
  • Make a backup of the well-commented configuration file (we won't use any of this, but it's handy to have a copy of for reference later).
sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf-backup
  • Edit /etc/dnsmasq.conf with your favorite text editor, and add the following two lines:
interface=eth1
dhcp-range=192.168.0.100,192.168.0.250,72h
Note: The "interface" should match the interface that your clients are connected to, and the "dhcp-range" should be within the gateway's private IP subnet that you configured according with the "Gateway set up" directions above.
  • Start the DHCP/DNS server.
sudo /etc/init.d/dnsmasq start
Now, your clients should be able to pull an automatic ip address and resolve host names.

Other approaches

The following section includes a rough outline of some alternative methods for configuring an ICS gateway. They are incomplete and untested. They are included simply for the sake of information.

Alternate server software (CLI)

There are other ways to host ICS, but they are outside the scope of this article.

Alternate NAT

The ipmasq daemon does NAT routing so you don't have to configure iptables. The following directions are incomplete and should not be considered a full description of what needs to be done to configure ipmasq.
sudo aptitude install ipmasq
Configure ipmasq to allow dhcp requests. Otherwise, you need to stop ipmasq to make a connection. You need to copy a .rul from the documentation directory into the /etc config and edit the interface name. Then, reconfigure ipmasq to start after networking has been started.
sudo dpkg-reconfigure ipmasq

Dedicated DHCP server

dhcp3 is an easy to configure and scalable true DHCP server that can be configured for many different aplications. dhcp3 configuration is more complex, but it can be useful in many situations:

Dedicated DNS server

BIND9 is a popular and well-supported local DNS server. It is very versatile and very powerful, but difficult to configure correctly:

Alternate gateway software (GUI)

Another approach is to set up Firestarter, to run connection sharing, to set up dhcp3-server, and to set its configuration to listen to the correct eth*. To change this later, run sudo dpkg-reconfigure dhcp3-server.
Basically, you need to have Firestarter active/turned on/protecting, to have the connection shared.
When you install dhcp3-server, it will place a sample config file in your /etc/dhcp3 folder, called dhcpd.conf. I suggest that you install dhcp3-server first and then Firestarter because if you are lucky, Firestarter will set up a new dhcp3 config file for you.
At any time that changes are made to your dhcpd.conf file, restart the server by typing sudo /etc/init.d/dhcp3-server restart.Alternatively, every time you run the sudo dpkg-reconfigure dhcp3-server command, at the end, your server will restart.
There are several issues that I had. First of all, the Firestarter firewall won't even start if you don't have it configured to listen to the right interface. You can change which one it listens to in Preferences --> Network Settings. The Local-network-connected device must be the same as you have dhcp3-server listening to. Of course, both checkboxes under that need to be checked. The Internet-connected network device will be the one that is configured for Internet. Now, I have two NICs, but I have PPPoE configured on eth0, and I have Internet connection sharing configured on the same one, because eth0 is also configured for a static 192.168 internal IP for my internal network.

Simple iptables example

In a simple example, wlan0 has the Internet connection, and eth0 is being used to share the connection. It could be connected directly with a single computer via a crossover cable or switch, or you could have a router with a cable from eth0 to the WAN port and a whole LAN setup behind this. Interestingly, the Internet connection could be ppp0, a 3G, or mobile Internet modem.
  • #!/bin/sh
    #
    # internet connection sharing wlan0 is the gate way
    # eth0 is the lan port this might use a straight ethernet cable to a router wan port or a switch or a single PC
    # 192.168.2.2 is the port that is being used by the lan for access I changed it to 192.168.2.254 and set fixed addresses for the wan and router
    #
    # change wlan0 to ppp0 and you can use this for mobile broadband connection sharing
    #
    ip link set dev eth0 up
    ip addr add 192.168.2.1/24 dev eth0
    sysctl net.ipv4.ip_forward=1
    iptables -t nat -A POSTROUTING -o wlan0 -s 192.168.2.0/24 -j MASQUERADE
    iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 3074 -j DNAT --to-destination 192.168.2.2
    iptables -t nat -A PREROUTING -i wlan0 -p udp -m multiport --dports 88,3074 -j DNAT --to-destination 192.168.2.2
    iptables -A FORWARD -i wlan0 -d 192.168.2.2 -p tcp --dport 3074 -j ACCEPT
    iptables -A FORWARD -i wlan0 -d 192.168.2.2 -p udp -m multiport --dports 88,3074 -j ACCEPT
You could use the above as a bash script changing things to suit your needs.
  • If things go wrong, the following script should save you when things get badly messed up. 

  • #!/bin/sh
    #
    # rc.flush-iptables - Resets iptables to default values.
    #
    # Copyright (C) 2001 Oskar Andreasson
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; version 2 of the License.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program or from the site that you downloaded it
    # from; if not, write to the Free Software Foundation, Inc., 59 Temple
    # Place, Suite 330, Boston, MA 02111-1307 USA
    #
    # Configurations
    #
    IPTABLES="/usr/sbin/iptables"
    #
    # reset the default policies in the filter table.
    #
    $IPTABLES -P INPUT ACCEPT
    $IPTABLES -P FORWARD ACCEPT
    $IPTABLES -P OUTPUT ACCEPT
    #
    # reset the default policies in the nat table.
    #
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P POSTROUTING ACCEPT
    $IPTABLES -t nat -P OUTPUT ACCEPT
    #
    # reset the default policies in the mangle table.
    #
    $IPTABLES -t mangle -P PREROUTING ACCEPT
    $IPTABLES -t mangle -P POSTROUTING ACCEPT
    $IPTABLES -t mangle -P INPUT ACCEPT
    $IPTABLES -t mangle -P OUTPUT ACCEPT
    $IPTABLES -t mangle -P FORWARD ACCEPT
    #
    # flush all the rules in the filter and nat tables.
    #
    $IPTABLES -F
    $IPTABLES -t nat -F
    $IPTABLES -t mangle -F
    #
    # erase all chains that's not default in filter and nat table.
    #
    $IPTABLES -X
    $IPTABLES -t nat -X
    $IPTABLES -t mangle -X
Internet connection sharing documentation thread: http://ubuntuforums.org/showthread.php?t=503287 (Please note that this thread is in an old read-only section of the forum and cannot be posted to. Requests for help may be posted in one of the main sections of the forum.) 

See also


SOURCE: https://help.ubuntu.com/community/Internet/ConnectionSharing

Saturday, December 6, 2014

Monday, November 10, 2014

Resetting Media Wiki Password from PhpMyAdmin

Go to wiki tables and find user table and excecute the following

UPDATE user SET user_password=md5(concat(1,'-',md5('madhu'))) where user_id=1

Thursday, October 16, 2014

How to Install Any Version of Windows from Other Network Computers

Talk about a complex thing to do: installing Windows over the network. Even installing it via a USB drive is simpler. However, this doesn’t mean it cannot be done. Using a free tool named Serva and a bit of time and attention, anyone can set up his/her network environment so that Windows installations are performed with ease, from one network computer. Here’s how the whole process works!

VERY IMPORTANT Prerequisites

There are many things you need to prepare beforehand, so that everything works smoothly. Please don’t skip any of these elements or the likelihood of failure will be high:
  1. You need to download and extract a little tool named Serva. Download the appropriate version for your operating system (32-bit or 64-bit). You will notice that there are a "Non-Supporter" version and a "Supporter" version. The free one is the "Non-Supporter" version. It includes a small annoyance when you start it, plus a few limitations that won’t impact you unless you are a network admin or IT professional who needs to install lots of operating systems on many network computers. If you are such a professional, go ahead and purchase the "Supporter" version which costs a fair $29.99.
  2. This software is a bit finicky. It doesn’t like long folder structures and installation folders, spaces and special characters. Therefore, extract it in a folder with a short name, directly on the root of one of your computer’s partitions. For example, I extracted it at "D:\SERVA". Choose a similar path on your computer. How to install Windows over the network with Serva
  3. You need the original installation files for the operating system(s) you want to install over the network. Have them at hand as you will need to copy them to a special folder, as they are, without modifications.
  4. For the computers where you are about to install Windows over the network, identify their exact network card model(s). Then, download the appropriate drivers for the Windows version you are about to install on them. By default, Windows setup programs support a limited number of network cards. If your system is rather new, then it is very likely that it won’t support its network card and the installation procedure will fail.
  5. Every time you run Serva, run it as administrator. This way it has the required permissions to create files, save the settings you make, etc.
  6. When you run Serva, make sure that it is not blocked by your firewall. The application must be set as allowed on the computer where it runs, otherwise it won’t be able to transfer anything over the network.
  7. The computer where the installation files are stored and the one where you want to install Windows must be part of the same network. This means that you have a router on your home network, managing network IP addresses and network traffic. If not, then you should directly connect the two computers with a crossover cable.

Step 1 - Run Serva & Make Its Initial Configuration

Run Serva as administrator. The free version will ask you to wait for 7 seconds before you can use it. Once the wait is over, click "Thanks, not today".
How to install Windows over the network with Serva
Its window is now open. Click Settings.
How to install Windows over the network with Serva
First, go to the DHCP tab. If your computers are part of the same network and the management of IP Addresses is taken care of by your router, enable these settings: proxyDHCP and BINL.
How to install Windows over the network with Serva
BINL is a special add-on that acts as a DHCP protocol extension and it is used by Serva during its preparation and maintenance procedures. proxyDHCP is a special setting that tells Serva that it doesn’t need to act as a DCHP server in order to provide IP addresses to the computers connecting to it.
Even though Serva’s developers don’t recommending enabling this setting, we have learned in our testing that it helps eliminate some issues. Therefore, also enable the box which says "Bind DHCP to this address" and leave the default IP address that is provided.
How to install Windows over the network with Serva
There is no need to modify other settings in this tab. Next, go to the TFTP tab.
TFTP comes from Trivial File Transfer Protocol and it is the protocol used by Serva to transfer files over the network. This protocol needs a bit of configuration as well.
First, check the box near TFTP Server. Then, you need to specify the so called "root" directory. This is the directory where you plan to store the Windows installation files. This folder can be the same folder where you extracted Serva or a new one. Keep in mind that you should use short paths and avoid using spaces and special characters (*, &, ", etc) in the directory name or its path.
How to install Windows over the network with Serva
To help eliminate problems in some networking environments, you might want to also check the box near "Bind TFTP to this address" and leave the default IP address unchanged.
How to install Windows over the network with Serva
Press OK to save your settings. Then close Serva and start it again (as administrator). During the restart, it will create a special folder structure in the root folder you specified.
How to install Windows over the network with Serva
Amongst those folders, you must find one named WIA_WDS and another named WIA_RIS. If they are not found inside the root folder you specified, something went wrong with Serva’s configuration. If all is well, go ahead and read the next section in this article.

Step 2 - Copy the Windows Installation Files

Go to the root folder you specified. Here, you need to copy the Windows installation files, as they are, without any modifications from your side.
If you want to install older versions of Windows like Windows XP or Windows 2000, you need to copy those files in the WIA_RIS folder. Since these operating systems are very old and we don’t recommend using them, we won’t provide specific instructions for them.
If you plan to install Windows Vista, Windows 7 or Windows 8, then open the WIA_WDS folder. There, create a new folder named according to the Windows version you want to copy. Use simple folder names, with no spaces or special characters. For example, I used Windows_7.
How to install Windows over the network with Serva
Create separate folders, with different names for all the Windows versions you plan to install over the network, using Serva.
Inside that folder, copy and paste all the installation files for the Windows version you want to install over the network. Simply go to the root of the installation disc, and copy its entire file and folder structure.

Step 3 - Start Serva

Start Serva again, as administrator and wait for it to detect the installation files you added. It will create its special folder structure, required to distribute the installation files over the network.
Then, close Serva and go to the next step.

Step 4 - Copy the Network Card Driver(s)

Next, you need to copy the network card drivers for the computer(s) on which you want to install Windows.
Go the folder where you copied the installation files. In my case it was "D:\serva" (both the root and Serva installation folder), followed by "WIA_WDS\Windows_7".
How to install Windows over the network with Serva
There, go to "$OEM$\$1\Drivers\NIC". If you can’t find these folders, create them yourself.
Then, extract the network card drivers and place them inside. If your drivers come as a setup.exe or as a self-extractable archive, extract it first. Make sure the driver’s ".inf" and ".cat" files are stored directly in the NIC folder.

Step 5 - Share WIA_WDS Folder with the Network

In order for Serva to distribute the Windows installation files over the network, they need to be shared with the network, so that other computers can access them. Unfortunately, Serva requires you to share the WIA_WDS folder (and not its subfolders or other folders) using a very specific share name: WIA_WDS_SHARE. Using any other share name means that the installation procedure is likely to fail.
How to install Windows over the network with Serva
To share this folder with the name we mentioned, you first need to enable advanced sharing in Windows and then share it. Here’s how advanced sharing works in Windows: Share Libraries or Folders Using Advanced Sharing.
You must give the user Everyone read-only permissions. You can also share this folder with specific user accounts, whose login details you will use later on, during the network installation process. Again, read-only permissions are enough.

Step 6 - Start Serva

Start Serva again, using administrator permissions. It will detect the network drivers you added and make a few changes, so that the drivers are distributed correctly when you launch the installation process on other computers. You can now leave it open and waiting for network connections.
Next, go to the computer(s) where you want to install Windows.

Step 7 - On the Target PC - Enable Lan Booting & Boot from the Network

Go to the computer where you want to install Windows and enter its BIOS. Make sure networking booting is enabled. This setting can be named "Boot from the network" or "Boot from PXE".
Then, start the computer and press the required key to bring up the Boot Menu. On most computers, you need to press F12 or F8, depending on the BIOS version. Select Network or PXE (again, this depends on your computer’s BIOS), to boot from the network, using Serva.
How to install Windows over the network with Serva
If all is well, you should see a screen similar to the one below, where the computer’s MAC is displayed and the network card requests an IP address via DHCP.
How to install Windows over the network with Serva
When the computer is connected to the network, Serva loads and displays a screen with the operating systems available for installation. Pick the one you want and press ENTER.
How to install Windows over the network with Serva
The installation files are loaded and a small window named ServaPENet is shown. At this step, Serva installs the network driver you added earlier, loads network resources and connects to the Windows installation folder. Depending on how you shared the WIA_WDS folder, it will ask you to provide a username and password to access it. Type the details of the user account you shared it with and connect.
If all went well, the Windows installation process is now started.

Step 8 - Install Windows Over the Network

Next, continue with the Windows installation, as usual. If you plan to install Windows 8, check this installation guide: How to Install Windows 8 RTM on Your Computer.
If you plan to instal Windows 7, check this article: How to Install Windows 7 - Complete Round of Installation Guides.

Troubleshooting Problems with Serva

If you don’t pay attention to all the steps in this procedure, some things are likely to fail. Here are some things we learned while experimenting with this tool:
  • If ServaPENet returns this error: "Failed No NIC/Driver, Aborting!", it means that you forgot to copy the network card drivers as instructed at Step 4. If you copied them and you still get the error, double check that you have the correct driver for the network card of the computer where you want to install Windows, for the Windows version you are about to install. Also, double check that you copied it to the correct folder. Then, restart Serva to make sure it detects the driver before the network installation procedure starts.
  • If, on the target computer, Serva is not able to load at all over the network, consider enabling the "Bind DHCP to this address" and "Bind TFTP to this address" settings in the DHCP and TFTP tabs.
  • If you connected two computers directly, with a crossover cable, you need to set Serva as DHCP server, in order for everything to work. This means setting the 1st address available in the IP pool, the pool size, and the subnet mask to be used when Serva assigns IP addresses. How to install Windows over the network with Serva
  • One last piece of advice is to check the Serva logs. The messages shown there can help you troubleshoot different problems.
Another good tip is to restart Serva every time you change any of its settings and every time you add something to its root folder.
Since we are not the developers of this software, we cannot provide support for it and help you with all the issues you might encounter. If our guide does not help you, then double check Serva’s documentation - Serva PXE/BINL - AN01: Windows Install and advanced configuration guide - Advanced Topics on TFTP.

Conclusion

As you can see from this guide, setting things up with Serva requires quite a bit of time and attention. However, it is the simplest way of installing any modern version of Windows over the network. It works great both for home networks and small or medium sized business networks.