1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.11.tar.gz tar -xvzf sendmail.8.12.11.tar.gz cd sendmail-8.12.11/ cd sendmail sh Build cd ../cf/cf cp /etc/mail/sendmail.mc . sh Build sendmail.cf cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak sh Build install-cf cp /usr/sbin/sendmail.sendmail /usr/sbin/sendmail.sendmail.bak cd ../../sendmail mkdir /usr/man/man1 mkdir /usr/man/man5 mkdir /usr/man/man8 sh Build install service sendmail stop cp /usr/sbin/sendmail /usr/sbin/sendmail.sendmail service sendmail start rm /usr/sbin/sendmail ln -s /etc/alternatives/mta /usr/sbin/sendmail |
Upgrade RedHat Enterprise 2.1 AS to Sendmail 8.12.11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
Note: BerkeleyDB.4.2 was previously installed from source onto the system so there was not need to install this package. On a purely stock install this would have been required. Edit /etc/ld.so.conf and add line: /usr/local/BerkeleyDB.4.2/lib to the end of the file. > ldconfig > wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.11.tar.gz > tar -xvzf sendmail.8.12.11.tar.gz > cd sendmail-8.12.11/ > cd devtools/Site Create a file site.config.m4 with: define(`confMAPDEF', `-DNEWDB') define(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.2/include/') define(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.2/lib/') > cd ../../sendmail > sh Build > cd ../cf/cf > cp /etc/mail/sendmail.mc . Edit sendmail.mc and comment out the line: define(`confAUTO_REBUILD')dnl so that it reads: dnl define(`confAUTO_REBUILD')dnl Also change the line: FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl to read: FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl Finally change the line: define(`confAUTH_OPTIONS', `A')dnl to: dnl define(`confAUTH_OPTIONS', `A')dnl > sh Build sendmail.cf > cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak > cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak > sh Build install-cf > cp /usr/sbin/sendmail /usr/sbin/sendmail.bak > cd ../../sendmail > groupadd -g 25 smmsp > useradd -g smmsp -u 25 smmsp > chsh -s /sbin/nologin smmsp > sh Build install > chown smmsp.smmsp /var/spool/clientmqueue > chmod u+rwx,g+rwx,o-rwx /var/spool/clientmqueue > chown root.wheel /var/spool/mqueue > chmod u+rwx,g-rwx,o-rwx /var/spool/mqueue |
Squid Guard
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
#!/bin/bash # squid This shell script takes care of starting and stopping # Squid Internet Object Cache # # chkconfig: - 90 25 # description: Squid - Internet Object Cache. Internet object caching is \ # a way to store requested Internet objects (i.e., data available \ # via the HTTP, FTP, and gopher protocols) on a system closer to the \ # requesting site than to the source. Web browsers can then use the \ # local Squid cache as a proxy HTTP server, reducing access time as \ # well as bandwidth consumption. # pidfile: /var/run/squid.pid # config: /etc/squid/squid.conf PATH=/usr/bin:/sbin:/bin:/usr/sbin export PATH # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # check if the squid conf file is present [ -f /usr/local/squid/etc/squid.conf ] || exit 0 # determine the name of the squid binary [ -f /usr/local/squid/sbin/squid ] && SQUID=squid [ -z "$SQUID" ] && exit 0 prog="$SQUID" # determine which one is the cache_swap directory CACHE_SWAP=`sed -e 's/#.*//g' /usr/local/squid/etc/squid.conf | \ grep cache_dir | awk '{ print $3 }'` [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/usr/local/squid/var/cache RETVAL=0 start() { for adir in $CACHE_SWAP; do if [ ! -d $adir/00 ]; then echo -n "init_cache_dir $adir... " /usr/local/squid/sbin/squid -z -F 2>/dev/null fi done echo -n $"Starting $SQUID $prog: " /usr/local/squid/sbin/squid $SQUID_OPTS 2> /dev/null & RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID [ $RETVAL -eq 0 ] && echo_success [ $RETVAL -ne 0 ] && echo_failure echo return $RETVAL } stop() { echo -n $"Stopping $prog: " /usr/local/squid/sbin/squid -k check >/dev/null 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ] ; then /usr/local/squid/sbin/squid -k shutdown & rm -f /var/lock/subsys/$SQUID timeout=0 while : ; do [ -f /usr/local/squid/var/logs/squid.pid ] || break sleep 2 && echo -n "." timeout=$((timeout+2)) done echo_success echo else echo_failure echo fi return $RETVAL } reload() { /usr/local/squid/sbin/squid $SQUID_OPTS -k reconfigure } restart() { stop start } condrestart() { [ -e /var/lock/subsys/squid ] && restart || : } rhstatus() { status $SQUID /usr/local/squid/sbin/squid -k check } probe() { return 0 } case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; condrestart) condrestart ;; status) rhstatus ;; probe) exit 0 ;; *) echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}" exit 1 esac exit $? |
Route Table Testing
Use this command:
1 |
> ip route get <i>{dest ip}</i> |
To test from a specific source use:
1 |
> ip route get <i>{dest ip}</i> from <i>{src ip}</i> |
Advanced Networking Resources
http://linux-ip.net – Great online book about advanced networking issues.
http://lartc.org/ – Howto and man pages