Friday, October 5, 2012

Sharing Internet Linux on Ubuntu(DCHP Server setup included)


Hey guys this is my first post on the new blog.

 Today, I'll show you how to share Your internet connection with from your Ubuntu PC over Ethernet,
so you could do Wlan->Eth or even Eth->eth.

This can be used to:

-Get an extra computer connected to the internet (6 pc's and only 5 ports on router)
-Bring Older Pc's online (use a pc that dose not support wifi online, but connecting a laptop to the pc's eth port)
-Make a connection bridge (connect laptop to a wifi router, and connect laptop{in a different room} to wired switch) have 5 other PC's online without having to buy 5 wifi cards 

-Lan Party! (connect to a switch/hub and everyone will get an Ip address and internet)
-Connect PS2 or Xbox 360 to the internet!
-Analyse network traffic,...for security reasons. 

The drawback:
All computers connected are on a different subnet and will not be able to see the upper level computers, so no file sharing can be done.

 the first thing we will need to do is add a new connection that will forward the internet. open up terminal, and type:   nm-connection-editor

This should open the network config box:
From here click 'Add'
From here you will see a new window open,
 Give it a Name you will remember,
I use "FWD" short for 'forward'

Feel Free to leave the two check boxes checked.

(optinal)
If you have two Ethernet devices, and you know you want to only use one (such as eth2) as the 'out' connection (connecting to client PC) then you can click the arrow next to 'Device mac address'
and select the device you wish to lock it to.
(can be changed by going back and editing this connection)

Now click the 3rd tab.
From here you should see 'IPv4 Settings'
under method click 'Automatic DCHP' and  change it to 'Shared to other computers'



Once this is done connect the two devices, and you where you chose your wifi network their should be a new option under 'Wired' that says 'FWD'
or what ever you named it.

Make sure your Wifi card/ or 1st Ethernet device is still connected to the internet.

and from here you would be able to connect your client to the internet using a static IP address:
Client:
IP: 10.42.0.2
Netmask: 255.255.255.0
Gateway: 10.42.0.1

Dns: 8.8.8.8   (google public DNS)
dns2: 208.67.220.220  (open DNS)


But Today I'll be showing you how to also set up a DCHP server for this new connection.
-This is completely optional, but it's good for if you connect to more than one PC, and do not want have to worry about remembering to change the IP settings Every time.


first install Dhcp:

sudo apt-get install dhcp3-server

set it up:

sudo gedit /etc/default/isc-dhcp-server

then change:    INTERFACES=""

to be where you want to broadcast

eg. INTERFACES="eth0"

mostly likely the new network address will be 10.42.0.1but make sure with:
ifconfigyou'll get something like this:
Find your outgoing connection, mine is going from wlan0 to Eth0
so eth0 is my outgoing connection.
eth0      Link encap:Ethernet  HWaddr 10:1f:46:88:52:11  
          inet addr:10.42.0.1  Bcast:10.42.0.255  Mask:255.255.255.0
          inet6 addr: fe80::121f:74ff:fe11:ad23/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1400  Metric:1
          RX packets:290599 errors:0 dropped:0 overruns:0 frame:0
          TX packets:147466 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:42187116 (42.1 MB)  TX bytes:69827448 (69.8 MB)
          Interrupt:47 Base address:0xc000 


look next to 'inet addr' and if it's something like 192.168.1. or 192.168.0. then  chances are you did not connect to your new network. if it starts with 10. and is different such as 10.32.0.1, then just substitute the first 3 number sets '10.32.0' for everything I show from now on.
so If i say type '10.42.0.2', then you'd type '10.32.0.2' but that's ONLY if you've got a different IP!



Next we'll configure the server:
sudo gedit /etc/dhcp/dhcpd.conf   

once it opens, add this to the bottom

#----internet Share
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 10.42.0.1;
option domain-name-servers 8.8.8.8, 208.67.220.220;

subnet 10.42.0.0 netmask 255.255.255.0 {
range 10.42.0.2 10.42.0.250;
}


now we will restart server and networking:

sudo /etc/init.d/isc-dhcp-server6 restart
sudo /etc/init.d/isc-dhcp-server restart

sudo /etc/init.d/networking restart

now disconnect your client device, and
wait a few seconds, and reconnect,
If you are unable to connect, restart the client, and if you are still having issue's restart both. 


You should now be able to connect to the internet!

-Optional- Toggle DCHP
(testing)
By default Your DCHP server will start every time you start Your PC, however you may now want it to, why you ask?

well if you have a Laptop, and only one Ethernet port, when you're at home running the DCHP for you network may be fine, but if you go to a friends house, you would not want to have it running, because this could conflict with their network. so to enable toggling use these two commands:
sudo sh -c "echo 'manual' > /etc/init/isc-dhcp-server6.override"
sudo sh -c "echo 'manual' > /etc/init/isc-dhcp-server.override"

then when you're done running the server use:
sudo /etc/init.d/isc-dhcp-server stop&&sudo /etc/init.d/isc-dhcp-server6 stop
you can verify they are both off with:

 sudo  status isc-dhcp-server6&&  status isc-dhcp-server6
the output should be:
isc-dhcp-server6 stop/waiting
isc-dhcp-server stop/waiting

When you reboot they will both be off,

you can turn it back on with:
sudo start  isc-dhcp-server


Sources:
http://www.ubuntugeek.com/how-to-install-and-configure-dhcp-server-in-ubuntu-server.html
http://askubuntu.com/questions/162695/setup-dhcp-server-for-lan-party

http://www.amazon.com/gp/product/B002SHZ1H0/ref=oh_details_o01_s00_i00 (adapter used for initial testing {Works great!})

No comments:

Post a Comment