First I wanted to say this is not another how to setup your dialup connection to the ISP.
This doesn't pretend to be a complete howto but I've seen quiet a few posts on this topic in Ubuntu forums unanswered, and it took me a long time to figure it out myself. I'm not an expert on this but it worked for me and hopefully will work for you or at least will get you started. For those who interested in setting up a callback server this is the first step, you will have to edit some more config files, but you will have to do this first. Links to more info and credits are at the end.
Part I . The short version on how to get remote access to your Ubuntu box via modem. Install mgetty
Add a line at the end of file /etc/inittab
sudo apt-get install mgetty
If your modem is on COM1.
Initialize init by typing
Now from Win you can use HyperTerminal to connect to your Ubuntu box with your user name/pass.
For those who want more here is a real deal
The problem: Establish PPP connection to Ubuntu server from a remote location using a modem and to share internet connection.
Laptop modem<> Server modem <> Ethernet Router <> Cable/DSL modem <> Internet
Assumptions: drivers for your modems already installed and modem is at ttyS0. I have an external modem attached to COM1 - ttyS0, COM2 will be ttyS1. I didn't have X installed so I was using nano to edit conf files, you can use gedit if you have X installed or any other editor. Make sure your are familiar with the interface of the editor before you start modifying files. Make sure you create backups of the files before you modify them. You will need to use sudo or login as root for most of the tasks. If you don't know how to configure your dial up on your client look for a dial up howto or Ubuntu docs. I also assume that you already have your local nework including routers properly configured and have an access to the Internet from your Ubuntu server.
Part II.a - Dial in configuration
1. If not already installed use synaptic or apt-get to install ppp and mgetty packages. ppp should be already installed by default so
2. Create a group ppp by adding a line in file /etc/group 3. Create a new user "pppuser" or whatever you will use for your dial in connection and assign a password by using
sudo apt-get install mgetty
edit file /etc/passwd or use to change entry for pppuser to
sudo adduser pppuser
4. Add a line to the file /etc/inittab
for modem on ttyS0. Or
for modem on ttyS1 That will let mgetty to accept incoming calls
5.Make a new file /usr/sbin/ppplogin and add the following in there
6. Set access to the ppplogin file and etc/ppp directory
# PPP login script
exec /usr/sbin/pppd -detach modem debug crtscts
7. Restart init by typing If you're use external modem it should be on before that.
chmod 750 /usr/sbin/ppplogin
chown root:ppp /usr/sbin/ppplogin
chmod 775 /etc/ppp
chown root:root -R /etc/ppp
8. Open file /etc/mgetty/login.config Comment out everything in there and add a line
9. Open file /etc/ppp/options and make sure these lines are uncommented. If anything else is uncommented it probably should be commented.
/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options
In my case the ms-dns entry had an ip of my router, if you using Linksys router it's 192.168.1.1 by default unless you changed it.
ms-dns 192.168.1.1 #put your dns server ip here
10. Create a file /etc/ppp/options.ttyS0 for the modem on ttyS0 and add following in there
Where first address is the address of your server for ppp connection which I think, should be different from your eth ip. The second address is the address that will be assigned to the client when connection is established. It will probably make life easier, unless you know what you doing, if all those addresses on the same subnet as your other computers on the network. (ip starts with the same 192.168.1.x numbers)
You can substitute for a line, this way it will log some info about you connection in a syslog.
11. Edit file /etc/ppp/pap-secrets
find a line after
It should look something like that
# Every regular user can use PPP and has to use passwords from /etc/passwd
substitute hostnatname with * so it looks like that
If you don't do that pap will not authenticate you and you'll be immediately disconnected.
Now you're able to connect using dial-up connection from you laptop or a remote office into your Ubuntu server and use ssh or putty if you're using Win.
Part II.b - Accessing internet from a remote client
I'm sure there other or better solutions to that, but that was easy enough and it worked for me.
Done. ipmasq automatically senses all your interfaces and initializes IP Masquerade forwarding/firewalling and allows you to connect to the rest of your network and the Internet.
sudo apt-get install ipmasq
I didn't have to do any more configurations for that.
Credits: Part I was inspired by debenham http://www.ubuntuforums.org/member.php?u=21302 in his answer to benson in http://www.ubuntuforums.org/showthread.php?t=65012
Part II and for more information
http://linuxgazette.net/issue77/sunil.html - Setting Up a Linux-based PPP Callback server
and http://tvilda.stilius.net/callback_en.php - Debian PPP dialin and callback server
http://www.aboutdebian.com/ - Some info on networking and other topics
http://qref.sourceforge.net/ - Debian reference
Those of you who are interested in setting up a callback server need to read links above. If security is a concern or you're in a business environment you should probably have a different setup.