LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Networking (https://www.linuxquestions.org/questions/linux-networking-3/)
-   -   Server from inside LAN (https://www.linuxquestions.org/questions/linux-networking-3/server-from-inside-lan-248836/)

andrewjjones 10-29-2004 02:00 PM

Server from inside LAN
 
Now I have my linux internet gateway going, I'm thinking of setting up a web server. This is what my LAN looks like at the moment:

Code:

            --------------
            |              | -- 192.168.0.1
internet -- | 192.168.0.10 | -- 192.168.0.2
            |              | -- 192.168.0.20
            |              | -- 192.168.0.21
            --------------

Is is possible to run apache on say, 192.168.0.1, but so it can be 'seen' from the internet?

NetAX 10-29-2004 02:12 PM

You can have your webserver visible on both internal/external networks. You will have to add the IP address going to the internet/modem to your DNS record. Doing that will allow the domain to be resolved by the DNS. Apache will then use IP address that was used to resolve the domain, and forward pages to the requesting computer.

DNS config:(not the exact configuration)

A 192.168.0.1 ( IP used for the internal network)
A 138.53.23.1 (IP address assigned to the external NIC. This could be private if your modem is also a router that uses private IP addressing)



When you finish editing the DNS configuration restart apache, then type httpd -s or if your using apache 2 httpd2 -s

This will list the IP addresses that apache will respond to.

jeickal 10-29-2004 02:14 PM

Sure it is :)
You need to configure NAT/PAT on your router.

You have to redirect anything comming from the web to the TCP port 80 of you router to your PC where you webserver is running.

Check out your router's doc, it should tell you how to. I can give you an example I did with mine if you want

jeickal 10-29-2004 02:20 PM

This will probably interest you ==> http://www.dyndns.org/services/dyndns/
You can freely register a hostname for you webserver there. Sth like mywebserver.linuxhome.org
So that you can give your friends sth else than a lame IP@ they'll never remember.

Note that if you didn't ask you ISP for a static IP you'll have to update it on the site regularly.

andrewjjones 10-29-2004 02:27 PM

Thing is it's not really a router. It's just a gateway... or is that the same thing? I don't have any DNS servers set up either. Sorry, but I'm not exactly a networking expert!

micxz 10-29-2004 02:40 PM

iptables -t net -A PREROUTING ! -i $EXT_IFACE -p tcp --destination-port 80 -j DNAT --to 192.168.0.1:80


Er something of this nature to forward all requests from the external iface to the internal machine. I just copied pasted this from "Linux Server Hacks"

jeickal 10-29-2004 02:49 PM

You don't need no local DNS server if you use the service provided on the site I gave you. They do it for you. They match yourwebserver.linuxhome.org (in my ex:) to the public IP address (provided by you ISP) of your router/gateway (whatever, doing the same job).

It works like this:

Internet <=====> Public IP of router --- 192.168.0.10 <======> local LAN

People out there on the web only see you public IP, there is no way they can see 192.168.x.x IP. So each connection from the web to you local LAN will use you gateway's public IP address.
Each service you wanna provide use a diferent TCP port number like for a web server, HTTP uses port 80 (FTP is 21, SMTP (email) use 25 etc...).

So to allow people from the net to reach the port 80 of your PC (the one with the webserver), you need to redirect all the connection reaching the public IP of your gateway on the port 80 to the IP of your webserver.

micxz post up there is showing you how to do it.
Hope my extra explanation will help you understand it :)

andrewjjones 11-02-2004 04:57 PM

Yes, that's great. Thanks a lot!

andrewjjones 01-08-2005 10:34 AM

Quote:

iptables -t net -A PREROUTING ! -i $EXT_IFACE -p tcp --destination-port 80 -j DNAT --to 192.168.0.1:80
Actually when I said that, I couldn't try it - I just presumed that it was right :)

I've finally got round to putting a monitor on the computer. But when I type it, I get told that the -p command 'contains wierd characters' :(

micxz 01-08-2005 06:07 PM

"contains wierd characters" Is that the error?

andrewjjones 01-08-2005 06:11 PM

Yes, that is the error :)

micxz 01-08-2005 06:20 PM

You are doing this on the gateway computer right? Please paste what you have here.

andrewjjones 01-08-2005 06:25 PM

Yes, 192.168.0.10. Post what exactly?

micxz 01-08-2005 06:33 PM

Copy paste the whole line you typed and the error. I'm not sure how else to help.

andrewjjones 01-08-2005 06:46 PM

Okay, I typed:
iptables -t net -A PREROUTING ! -i $EXT_IFACE -p tcp --destination-port 80 -j DNAT --to 192.168.0.1:80

And the computer said:
Warning: wierd character in interface '-p' (no aliases, :, ! or *)
Bad argument 'tcp'


All times are GMT -5. The time now is 12:09 AM.