Showing posts with label iptables. Show all posts
Showing posts with label iptables. Show all posts

Wednesday, September 23, 2009

Remote Desktop (XDMCP) on Ubuntu

Here I'm going to show you howto activate XDMCP (remote desktop protocol), on Gnome (bash an gui) and KDE. I have tested it only on Gnome so far. Note that this remote desktop protocol does not forwand sound.

Here some notes on the roles of the XDMCP server and client

Server - The remote machine were we want to login.
Client - The local machine were we will login on the Server

Before trying anything on XDMCP, you should make
sure that on the server your firewall is either disabled
or allows Udp port 177.

Here I'm going to show how to open a UDP 177 (rule),
on Iptables (firewall) using the bash, but you use a
very simple and usefull, Gui for Iptables nown as
"Firestarter" (to install on ubuntu just do
sudo apt-get install iptables).

$ sudo iptables -A INBOUND -p udp --destination-port 177 -j ACCEPT

Here are a couple off other usefull comands on Iptables

## Checking Iptables Rules #####
$ sudo iptables -nvL

if you have already executed the rule to open UDP port 177,
by executing this comand, you should see it there.

## Clearing All the Rules #####
$ sudo iptables -F

be aware that this comand clears all off the rules, and this
does not mean that all is allowed, on the contrary,
IPtables default beaviour, when it has no rules is to
deny all, so be very carefull.


XDMCP GNOME - via Bash
=====================================

XDMCP Server Configuration
----------------------------------

## Allowing the remote login on the Server #####
$ sudo gedit /etc/gdm/gdm.conf-custom
...
[xdmcp]
Enable=true
...

You should have the above on the file.

If you want the remote login screen to be the same as
the graphical greeter that is the default in the Ubuntu
install make sure that the following is present.

...
[daemon]
RemoteGreeter=/usr/lib/gdm/gdmgreeter
...

For these changes to take efect you can either,
reboot:

$ sudo reboot

or restart the service, for that go to text terminal (Ctlr+Alt+F2)
and type:

$ sudo /etc/init.d/gdm restart

to go back to you Gnome environment try Ctlr+Alt+F7, or some
Ctlr+Alt+Fx, close to F7.


XDMCP Client Login
------------------------

$ sudo X :1 -query server_ip

After this if all went well you should see
Ubuntu's graphical login screen, as if you
were on the remote computer fisicaly.

If don't want to see it fullscreen, you can
show the remote desktop on a window by
using the following command instead:

$ sudo Xnest :1 -query server_ip


XDMCP GNOME - via Gui
=====================================

This is equivelent to the shown above, the diference
is that, the server here is configured via Gui.

XDMCP Server Configuration
-----------------------------------
Allowing the remote login on the Server


As shown above System > Administration > Login Window



And then change the Style to "Same as Local", and that's it.
Aditional confuguration can be done on "Configure XDMCP"

For these changes to take efect you can either,
reboot:

$ sudo reboot

or restart the service, for that go to text terminal (Ctlr+Alt+F2)
and type

$ sudo /etc/init.d/gdm restart

to go back to you Gnome environment try Ctlr+Alt+F7, or some
Ctlr+Alt+Fx, close to F7.


XDMCP Client Login
------------------------

$ sudo X :1 -query server_ip

After this if all went well you should see
Ubuntu's graphical login screen, as if you
were on the remote computer fisicaly.

If don't want to see it fullscreen, you can
show the remote desktop on a window
by using the following command instead:

$ sudo Xnest :1 -query server_ip


XDMCP KDE - via Bash
(didn't test it, give me feedback if you do)
=====================================

XDMCP Server Configuration
----------------------------------
Still working on it...

XDMCP Client Login
------------------------

$ sudo X :1 -query server_ip

After this if all went well you should see
Ubuntu's graphical login screen, as if you
were on the remote computer fisicaly.

If don't want to see it fullscreen, you can
show the remote desktop on a window
by using the following command instead:

$ sudo Xnest :1 -query server_ip

Based On:

GNOME
http://megaf.wordpress.com/2009/04/15/xdmcp-internet-seu-linux-onde-voce-estiver/
http://stochasticflux.com/blog/?p=4

KDE

http://www.guiadohardware.net/tutoriais/configurando-servidor-xdmcp/pagina3.html
http://megaf.wordpress.com/2009/04/15/xdmcp-internet-seu-linux-onde-voce-estiver/

Iptables
http://www.cyberciti.biz/tips/linux-iptables-open-bittorrent-tcp-ports-6881-to-6889.html

Thursday, January 8, 2009

Sharing Internet on Linux

Hello there, in this post I'm going to show you how to share an Internet connection regardless off you having a public ip or not, you just need to have Internet on the computer that`s going to make the share.

I don't now if this is the most correct way to do it, but I can tell you that it worked on my machine which was running Ubuntu 8.10.

The picture below shows my test scenario, to make it easier for you to map it to your own.



click on the picture for a better viewing!!!

As you can see on the picture above I shared PC1's Internet with PC2, my PC2 was also running Linux but it could also be running Windows, MacOS, etc.

The IP configuration for the link between PC1 and PC2 was done manualy, but you can have an DHCP Server on PC1 dictating the IPs, DNS Servers, Gateway for both PCs.

What we are configuring is an IP Forwanding using the iptables, NAT MASQUERING.

As you can see on the picture you can see the DNS Servers (red an blue) I used on PC2 was the same servers that the wlan0 interface (the one with internet) on PC1, because if PC1 can reach the servers so will PC2.

First configure the interfaces that make the link between PC1 and PC2, you can configure any private network you want, i used the 10.0.0.0/8 network (see picture), gave the IP 10.0.0.1 to PC1, and 10.0.0.2 to PC2 and defined its Gateway as 10.0.0.1 (PC1) in order for it to send it's packets for the internet to PC1. On PC2 don't forget the DNS Servers that are the same that you have on PC1 in the interface with internet (wlan0), in Ubuntu you can find the DNS Servers, by tipping the following on the bash, so type this on PC1:

$ cat /etc/resolv.conf

# Generated by NetworkManager
domain hello.there
search hello.there
nameserver 192.168.1.210
nameserver 192.168.1.216
nameserver 192.168.1.215


Now that you have the link between both PCs configured (2 PCs on the same private network, and DNS Servers on PC2), just type the following on the bash in order to do the share.

$ su

# echo 1 > /proc/sys/net/ipv4/ip_forward

# exit

$ sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o wlan0 -j MASQUERADE

On the last command you if you configured a different private ip range, between the two PCs, you should change the 10.0.0.0/8 onto the one you chose and change the wlan0 to the interface that has the Internet on PC1.

And now you should have Internet both on PC1 and PC2.

Note: If instead of PC2 you have a switch/hub conected to PC1, you can use PC1 to serve multiple PCs (PC2, PC3, PC4, ...), you just need to make the same IP configuration that you did for PC2, only chanaging the the IP (PC2: 10.0.0.2, PC3: 10.0.0.3, PC4: 10.0.0.4) and connect these to the switch.

OR

Another solution to share with more than one PC is PC1 having multiple interfaces onto which PC2, PC3, PC4, ..., connected directly, as above make the same IP configuration that you did for PC2, only changing the the IP (PC2: 10.0.0.2, PC3: 10.0.0.3, PC4: 10.0.0.4) and connect these to PC1.

Saturday, April 28, 2007

Install fwbuilder 2.1.10 from source in Ubuntu 7.04

Firewall builder is a gui to help you build frewalls, the target firewall can be iptable, ipfilter, cisco pix, etc.

Conect your computer to the internet.

# - means it´s to be executed in the bash shell, without the # of course


# sudo apt-get install qt3-dev-tools

# sudo apt-get install libc6-dev

# sudo apt-get install g++


# sudo apt-get install libxml2-dev

# sudo apt-get install libxslt1-dev



download libfwbuilder-2.1.10.tar.gz at here and extract it.

# cd /.../libfwbuilder-2.1.10

# ./configure

# sudo make

# sudo make install



Now we have to install some Qt packages in order to fwbuilder-2.1.10.tar.gz compile, i don't now exactly wich ones are needed, i instaled the folowing packages.

libavahi-qt3-1 0.6.17-0ubuntu3 -- Avahi Qt3 integration library
libqt3-compat-headers 3.3.8really3.3.7-0ubuntu5 -- Qt 1.x and 2.x compatibility includes
libqt3-headers 3.3.8really3.3.7-0ubuntu5 -- Qt3 header files
libqt3-i18n 3.3.8really3.3.7-0ubuntu5 -- i18n files for Qt3 library
libqt3-mt 3.3.8really3.3.7-0ubuntu5 -- Qt GUI Library (Threaded runtime version), V
libqt3-mt-dev 3.3.8really3.3.7-0ubuntu5 -- Qt development files (Threaded)
libqt4-core 4.2.3-0ubuntu3 -- Qt 4 core non-GUI functionality runtime libr
libqt4-dev 4.2.3-0ubuntu3 -- Qt 4 development files
libqt4-gui 4.2.3-0ubuntu3 -- Qt 4 core GUI functionality runtime library
libqt4-qt3support 4.2.3-0ubuntu3 -- Qt 3 compatibility library for Qt 4
libqt4-sql 4.2.3-0ubuntu3 -- Qt 4 SQL database module
libqthreads-12 1.6.8-6build1 -- QuickThreads library for Guile
qt3-designer 3.3.8really3.3.7-0ubuntu5 -- Qt3 Designer
qt3-dev-tools 3.3.8really3.3.7-0ubuntu5 -- Qt3 development tools

Some of these migth not be necessary.


download fwbuilder-2.1.10.tar.gz at here and extract it.

# cd /.../fwbuilder-2.1.10

# ./configure

# sudo make

# sudo make install



# cd /usr/lib/i486-linux-gnu/

or

# cd /usr/lib/x86_64-linux-gnu/

if you have a amd64 (x86_64-linux) processor (may also for other 64 bit cpus) runing a 64 bit linux distribution.


# sudo ln -s /usr/local/lib/libfwbuilder.so.7.3.0 libfwbuilder.so.7

# sudo ln -s /usr/local/lib/libfwcompiler.so.7.3.0 libfwcompiler.so.7


now just run "fwbuilder":

# fwbuilder