Dialserver What is dialserver Dialserver controls when an internet connection is connected. It provides interfaces for manual and script-based initiation of a connection. There is support for mail sending and retrieving via fetchmail and sendmail. What is dialserver NOT It is not a dial-up configuration tool (requires wvdial, smpppd, isdnctrl, or something else) It is not a proxy configuration tool (don't know how to make it work) It is not a preconfigured system (you have to understand it) Installation ./configure make make install /usr/local/bin/dialserverconfig install vi /etc/dialserver.conf Miscellaneous scripts dialserverconfig Install a useful environment for dialserver by mangling the system files ma My administrator - for setting up mailboxes and POP3 fetchmail scripts sendreceivemail Sends outgoing mail, and runs everyone's .fetchmailrc through fetchmail. localfirewall An iptables firewall script that *ALLOWS INCOMING SSH ACCESS FROM SOME LEDGE IP ADDRESSES* (let's see who doesn't read the install notes, and then complains that we didn't tell you). The files listed below are installed by make install. Note that this includes a couple of files you may want to edit / move / mangle: /usr/local/share/dialserver/fetchmailrc.multidrop /usr/local/share/dialserver/squid.conf.part /usr/local/share/dialserver/dhcpd.conf /usr/local/share/dialserver/named.conf /usr/local/share/dialserver/crontab /usr/local/share/dialserver/10.zone /usr/local/share/dialserver/127.0.0.zone /usr/local/share/dialserver/172.16.zone /usr/local/share/dialserver/192.168.zone /usr/local/share/dialserver/domain.tld.zone /usr/local/share/dialserver/dialserver.mc /usr/local/share/dialserver/access /usr/local/share/dialserver/dialserver /usr/local/share/dialserver/localfirewall /usr/local/share/dialserver/manual.sxw /usr/local/share/dialserver/dialserver.conf /usr/local/share/dialserver/dialserver.common /usr/local/share/dialserver/README /usr/local/share/dialserver/AUTHORS /usr/local/share/dialserver/COPYING /usr/local/share/dialserver/NEWS /usr/local/share/dialserver/ChangeLog /usr/local/share/dialserver/TODO /usr/local/share/dialserver/dialserver.conf.test /usr/local/httpd /usr/local/httpd/htdocs /usr/local/httpd/htdocs/dialer /usr/local/httpd/htdocs/dialer/index.php /usr/local/httpd/htdocs/dialer/inc.php /usr/local/httpd/htdocs/dialer/prose.php /usr/local/bin /usr/local/bin/ma /usr/local/bin/sendreceivemail /usr/local/bin/dialserver.hello /usr/local/bin/dialserver.goodbye /usr/local/bin/dialserver.offline /usr/local/bin/dialserver.refresh /usr/local/bin/dialserverconfig /usr/local/bin/enableip /usr/local/bin/dialserver /usr/local/bin/dialsummarise /usr/local/man /usr/local/man/man8 /usr/local/man/man8/dialserver.8 OLDER INSTRUCTIONS FOLLOW - These are not maintained... Configuration You need to have the following information to sucessfully install dialserver. There are preconfigured SUGGESTIONS for the commands below in the /etc/dialserver.conf file . Your machine's name and ip-address . The command to initiate dialling . The command to detect when dialling has been successful . The command to terminate an existing connection . The command to terminate a failed dialling attempt . The command to determine the number of packets transmitted over the link. . Timeout values for dialling After the dialserver package has been made and installed do the following: 1) Use ifconfig to bring up the interface with a usable address. 2) Edit inittab. Default run level = 3 3) vi /etc/HOSTNAME (check it at least) 4) Configure dialling: /etc/wvdial.conf. Use wvdial.lxdialog. wvdial with no parameters should dial the ISP and autenticate. 5) Config inetd. a) Check that /etc/init.d/rc3.d/Sxxinetd exists. b) Edit rc.config and set START_INETD="yes" c) Edit /etc/inetd.conf: i) Comment out all the junk. Everything. Search for ^[^#] to find uncommented lines. ii) Uncomment the pop3 line. Make sure the the pop server you are using is installed (Either /usr/sbin/ipop3d or /usr/sbin/popper) 6) Configure named to serve up a DNS record for the dial-up machine: a) Edit /etc/named.conf b) Edit the boilerplate named file in /var/named/xxxxx.xx.xx.zone. Must be the file mentioned in the named.conf file. c) Change the SOA record. d) Add at least the server machines address record. e) Make sure that the dns-admin address goes somewhere. sendmail -bv dns-admin. ( May need to config sendmail first. ) 7) Config sendmail. a) Edit dialserver.mc b) Edit sendmail.cw c) Edit mailertable d) Edit access and add the local network for RELAY. Rememeber that all private ips are a good idea. d) m4 dialserver.mc > ../sendmail.cf d) make e) Check that S??sendmail exists. f) SuSE <= 7.3: vi rc.config. START_SENDMAIL=yes 8) Config httpd. a) Remove all suse junk include files. b) Kill all those unneccessary modules. c) Make sure that the following lines appear: LoadModule php_module ../../libphp.so (You will haveto find it correct path. ) e.g. LoadModule php4_module /usr/lib/apache/libphp4.so AddModule mod_php4 d) ADD MORE THINGS TO DO HERE. e) Check http -t f) rcapache restart g) Goto http://xx.xx.xx.xx/dialer/ h) Fix the default page to redirect or something to dialer. j) Also make sure that index.php serves up. 9) Samba config. a) You're on your own here 10) Add users using /usr/local/bin/ma user add username password 11) Edit dialserver.conf and change the following tags: PASSWDFILE=' ' b) crontab -e <-- Fix roots cron table. To fetchmail every hour or something. c) BOTHER...interscan deletes root's crontab. 12) Set up fetchmail to fetch small mails first in 5's then large emails in 1's 13) chmod 0710 .fetchmailrc files. find . -name .fetchmailrc -exec chmod 0710 {} \; 14) Restart box and check that the following are running. a) inetd b) sendmail c) httpd d) smb (if installed) e) Check that you can telnet to 110. 15) Do some digs again named both not dailed in and not dialed in. 16) Do some sendmail -bv .... 17) Run the spam script to check that everybody is getting mail. The spam script does not exist yet. 18) Send mail out e.g. To yourself. 19) Try connecting using the web pages. 20) Try telnet xx.xx.xx.xx 110 from other machines. 21) kill -USR1 dialserver. Run fetchmail. Also check that sendreceivemail starts. 22) Check the date and time. date 23) Check that cron is running with something like. /1 * * * * beep 24) If you change the ipaddress remember to fix access. !!!! 25) When doing sendmail -bv check that answers come back quickly enough or else reverse lookup may be busted. Remember to fix this when you change the ip address ranges. Try stace -T [some command] 2>&1 | grep -v '\<0\.' to find where a command is sticking. 26) Try fetchmail -e 5 to make sure that only 5 emails are fetched at a go. 27) Please check all the fetchmail log files. Fetchmail has been known not to work even though the .fetchmailrc looked great.