Kostis Netzwerkberatung
Konstantinos Kostis
Talstr. 25, D-63322 Rödermark
Tel. +49 6074 881056, FAX 881058
kosta@kostis.de, http://www.kostis.de/
Diese Information darf kostenfrei auf eigenes Risko verwendet werden
2000-09-01
Dieser Text beschreibt, wie man ein Netzwerk über einen Linux Rechner per ISDN über t-online ans Internet verbindet.
Die Verbindung zu t-online geschieht über syncppp, was bei anderen Providern auch üblich ist. Die Informationen in diesem Text sind daher streckenweise auch zum Anbinden an andere Provider geeignet.
Die Konfiguration dient nicht nur dem blossen Zugang, sondern bietet einige Funktionen einer Firewall, so daß es nicht so einfach für Hacker ist, sich von draussen auf den Maschinen im Netz zu schaffen zu machen.
Dieser Text beschreibt die notwendigen Anpassungen unter Redhat Linux 6.x (x > 0), bei anderen Linux Distributionen können leichte Unterschiede bestehen. Es wird für die Firewall/NAT Einstellungen auch nur ipchains (Kernel 2.2.x) beschrieben und nicht ipfwadm (Kernel 2.0.x).
Bevor wir loslegen können, müssen wir dafür sorgen, daß ein paar Dinge eingerichtet sind bzw. installiert, die wir später benötigen.
Dienst Beschreibung i4l ISDN für Linux ipchains IP Masquerading (aka NAT) named DNS Namensauflösung dhcpd dynamische IP Adressenverteilung und PC Konfiguration squid Proxy für http und ftp
i4l ist bei der Installation der Linux Distribution mitzuinstallieren. Sollte das nicht geschehen sein, so kann man mit Hilfe des Programmes rpm Pakete nachinstallieren.
Wenn ich hier i4l schreibe, meine ich nicht nur i4l selbst, sondern auch die isdn4k-utils. i4l ist Bestandteil des Kernels.
Unter Redhat Linux 6.2 ist keine besondere Aktion notwendig um i4l in Betrieb zu nehmen, also auch kein Neugenerieren des Kernels.
Seit ich Redhat Linux fahre, habe ich keinen Kernel mehr übersetzen müssen und habe es nicht vermisst. Bei SuSE war das noch Gang und Gäbe.
Um festzustellen, on die isdn4k-utils installiert sind, gibt man ein:
rpm --query isdn4k-utils
Auf meinem Redhat Linux 6.2 System liefert das:
isdn4k-utils-3.1-22
Die Version, die bei 6.1 dabei ist, ist ausreichend aktuell und stabil. Jedenfalls hatte ich damit keine Probleme.
Sollten die isdn4k-utils nicht installiert sein, so sind sie mit dem Paket von der CD nachzuinstallieren.
rpm --install isdn4k-utils-3.1-22.rpm
i4l benötigt ein paar kleine Einstellungen. Ich habe ein paar Skripte angepaßt bzw. erstellt, da mir die "Automatiken", die die Linux Distributoren anbieten, nicht behagen. Ich habe das lieber selbst unter Kontrolle. ISDN wird unter Redhat Linux unter /etc/rc.d/init.d/isdn gestartet. Das von mir modifizierte Skript sieht wie folgt aus:
#! /bin/bash
#
# isdn Starts isdn. This script starts the isdnlog program
# and brings up isdn interfaces.
#
#
# chkconfig: - 80 20
# description: Starts and stops ISDN services. ISDN is a
networking \
# interface, common in Europe.
export PATH=/sbin:/etc:/bin:/usr/bin:/usr/sbin
export I4L=/etc/rc.d/init.d
case "$1" in
start)
$I4L/i4l_hardware
start
$I4L/i4l start
;;
stop)
$I4L/i4l stop
$I4L/i4l_hardware
stop
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage:
$0 {start|stop|restart}"
exit 1
;;
esac
Die beiden in diesem Skript verwendeten Skripte sehen so aus:
#!/bin/bash
#
# ISDN-Module laden bzw. entfernen
#
export PATH=/sbin:/etc:/bin:/usr/bin:/usr/sbin
DRIVERID=HiSax
case "$1" in
start)
echo "Loading
ISDN drivers ..."
#
# startup for
ISDN
#
modprobe slhc
modprobe isdn
modprobe hisax io=0xd80
protocol=2 type=3 irq=10 id=$DRIVERID
#
# settings for
isdnlog
#
hisaxctrl $DRIVERID
1 0
isdnlog -S -D -v8
-m0xdf7 -l7 -t2 -w60 -n -M -C /dev/tty9 /dev/isdnctrl
#
;;
stop)
echo "Unloading
ISDN drivers ..."
# stopping
isdnlog
kill -TERM `/bin/cat
/var/run/isdnlog.isdnctrl.pid`
sleep 1
if [ -e /var/run/isdnlog.isdnctrl.pid
] ; then
kill
-TERM `/bin/cat /var/run/isdnlog.isdnctrl.pid` 2> /dev/null
fi
# unload modules
rmmod hisax
rmmod isdn
rmmod slhc
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage:
$0 {start|stop|restart}"
exit 1
;;
esac
#! /bin/sh
export PATH=/sbin:/etc:/bin:/usr/bin:/usr/sbin
PIDFILE=/var/run/ipppd.pid
case "$1" in
start)
for i in /etc/rc.d/init.d/rc.isdn/*
do
$i
start
done
# start ipppd
modprobe ppp
modprobe ppp_deflate
ifconfig | grep>/dev/null
ippp
if [ "$?"
= "0" ]
then
if
[ -f $PIDFILE ]
then
echo
"ipppd already running? (pid=`cat $PIDFILE`)"
else
ipppd
file /etc/ppp/ioptions &
echo>$PIDFILE
"$!"
fi
fi
;;
stop)
# shutdown ipppd
if [ ! -f $PIDFILE
]
then
echo
"ipppd not running?"
else
kill
`cat $PIDFILE`
if
[ -f $PIDFILE ] ; then rm $PIDFILE ; fi
fi
rmmod ppp_deflate
rmmod ppp
for i in /etc/rc.d/init.d/rc.isdn/*
do
$i
stop
done
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage:
$0 {start|stop|restart}"
exit 1
;;
esac
Das Skript im Verzeichnis /etc/rc.d/init.d/rc.isdn sieht wie folgt aus:
#! /bin/sh
PATH=/sbin:/etc:/bin:/usr/bin:/usr/sbin
export PATH
IDEV=ippp0
IPADDR=0.0.0.0
IPBRCA=0.0.0.0
IPMASK=0.0.0.0
MYPHONE=881056
RIPNET=0.0.0.0
RIPMASK=0.0.0.0
case "$1" in
start)
# Verbindung zu t-online
isdnctrl addif $IDEV
isdnctrl secure $IDEV
on
isdnctrl eaz $IDEV
$MYPHONE
isdnctrl addphone
$IDEV out 0191011
isdnctrl l2_prot
$IDEV hdlc
isdnctrl encap $IDEV
syncppp
isdnctrl
huptimeout $IDEV 90
isdnctrl
chargehup $IDEV on
isdnctrl dialmax
$IDEV 1
isdnctrl dialmode
$IDEV auto
isdnctrl pppbind
$IDEV
ifconfig $IDEV $IPADDR
pointopoint
route add -net $RIPNET
netmask $RIPMASK $IDEV
;;
stop)
route delete -net
$RIPNET netmask $RIPMASK $IDEV
ifconfig $IDEV
down
isdnctrl delif $IDEV
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage:
$0 {start|stop|restart}"
exit 1
;;
esac
Damit dynamisches IP und automatische Einwahl sauber funktionieren können, muß der Kernel beim Booten konfiguriert werden. Dazu fügen wir an die Datei /etc/rc.d/rc.local folgendes an:
# Enable RST-Provoking Mode
echo>/proc/sys/net/ipv4/ip_dynaddr 7
i4l wäre damit soweit klar. Jetzt muß noch ipppd konfiguriert werden, IP Masquerading (NAT), DNS und der Web-Proxy squid, damit wir die ersten Gehversuche vornehmen können.
ipppd muß gestarted werden, um ein automatisches Anwählen zu garantieren, wenn jemand auf das Internet zugreifen will. Hier werden auch die Zugangsdaten konfiguriert wie Username und Kennwort. Eine einfache Prüfung, ob ipppd installiert ist, kann wie folgt durchführen:
which ipppd
Auf meinem Redhat Linux 6.2 System liefert das:
/usr/sbin/ipppd
Wenn das gute Stück nicht installiert ist, muß es nachinstalliert werden. Wo war das noch mal dabei und was benötigt es? { Hinweis auf rpm }
Wir erinnern uns, ipppd wurde wie folgt gestartet: ipppd file /etc/ppp/ioptions
Damit sind die notwendigen Einstellungen dort zu suchen:
# /etc/ppp/ioptions
#
# i4l syncppp global options for ipppd
#
# device name
/dev/ippp0
# lock device
lock
# dynamic ip
#0.0.0.0:
# use username for authentication
user "aaaaaaaaaaaattttttttttttmmmm"
# accept IP addresses from peer
ipcp-accept-local
ipcp-accept-remote
noipdefault
ipcp-accept-local
ipcp-accept-remote
noipdefault
# try to get IP address from interface
# option specific to ipppd (as opposed to pppd)
#useifip
defaultroute
# disable header-compression
-vj
-vjccomp
-ac
-pc
-bsdcomp
# max receive unit
mru 1524
# max transmit unit
mtu 1500
Der Username setzt sich zusammen aus einer zwölfstelligen Anschlusskennung "aaaaaaaaaaaa", der zwölfstelligen T-Online-Nr. "tttttttttttt" und der vierstelligen (Mit-) Benutzerkennung "mmmm". Dieser Tage fangen die T-Online-Nr. mit "320" an und die Benutzerkennung ist in der Regel "0001".
Wir brauchen den Usernamen gleich noch mal in der Datei /etc/ppp/pap-secrets:
# Secrets for authentication
using PAP
#client server secret IP addresses
"aaaaaaaaaaaattttttttttttmmmm" * "Kennwort"
Bitte aus Sicherheitsgründen darauf achten, daß diese Datei dem Benutzer "root" gehört und nur dieser darauf schreibend und lesend zugreifen darf:
-rw------- 1 root root 123 Mar 24 13:57 pap-secrets
Ggf. als "root" wie folgt anpassen:
chown root:root /etc/ppp/pap-secrets
chmod 600 /etc/ppp/pap-secrets
Nach jeder Anwahl ging bei mir die Default-Route verloren, so daß die nächste Anwahl nicht mehr klappte, bis ich manuell wieder eine Default-Route auf ippp0 gesetzt hatte. Daher habe ich ein Skript /etc/ppp/ip-down.local gebaut mit folgendem Inhalt:
#! /bin/sh
/sbin/route | /bin/grep>/dev/null default
if [ ! "$?" = "0" ]
then
/sbin/route add -net
0.0.0.0 netmask 0.0.0.0 ippp0
fi
Ich gehe davon aus, daß es eine elegantere Lösung dieses Problems gibt, diese ist mir aber nicht bekannt. Auf die Schnelle fiel mir nichts besseres ein und es funktioniert immerhin. ;)
Nun brauchen wir noch IP Masquerading und DNS um die ersten Gehversuche machen zu können.
ipchains ermöglicht eine weitgehende Firewall Konfiguration. Uns interessiert erst einmal nur IP Masquerading (aka NAT).
Zu diesem Zweck müssen wir sicherstellen, daß Routing im Kernel aktiviert ist. Diese Einstellung ist bei Redhat Linux 6.2 per linuxconf einzustellen.
Danach fügen wir an die Datei /etc/rc.d/rc.local folgende Zeilen an:
# enable IP Masquerading
ipchains -P forward DENY
ipchains -A forward -s 192.168.0.0/24 -j MASQ
Dazu sollte man wissen, daß ich ein RFC-1918 Netzwerk betreibe: 192.168.0.0 mit einer Subnetzmaske 255.255.255.0
Alle Zugriffe dieser Maschinen zum Internet laufen über meinen Linux Rechner. Dieser nimmt die Datenpakete entgegen, tauscht die echte IP Adresse mit seiner eigenen, über den ISP vergebenen IP Adresse aus und umgekehrt. Damit ist es möchlich, daß meine Maschinen Kontakt nach "draussen" aufbauen. Eine Verbindung von draussen auf einen Rechner in meinem Netz geht jedoch nicht, mit einer Ausnahme: dem Linux Recher selbst. Um die Sicherheit dieser Maschine zu gewährleisten, habe ich ein paar Vorkehrungen getroffen. Hier ein paar Tipps, was man da machen kann:
#
# hosts.allow This file describes the names of the hosts which
are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
ALL: 192.168.0.0/255.255.255.0
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you
that
# the new secure portmap uses hosts.deny and hosts.allow. In
particular
# you should know that NFS uses portmap!
ALL: ALL
portmap ist bei mir deaktiviert, da ich kein NFS verwende und NFS ohnehin nicht "sicher" ist (aus Firewall Admin Sicht). Wenn ich schon Dateifreigaben mache, dann verwende ich SMB (samba), wo man den Zugriff recht fein regeln kann, was hier aber zu weit führen würde.
Grundsätzlich fahre ich auf dem Server selbst so wenig Dienste wie unbedingt notwendig. Meine /etc/inetd.conf ist fast leer:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
-l -a
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
auth stream tcp wait root /usr/sbin/in.identd
in.identd -e -o
Ohne DNS nix los im Internet, es sei denn man will sich hundertprozentig abhängig machen vom Proxy des ISP. Ich gehe mal nicht davon aus, ich habe jedenfalls bei mir DNS mit eigener Domäne aufgesetzt (kostis.net) und einen Forwarder konfiguriert um den Rest per DNS auflösen zu können und meinen Maschinen im Netz DNS als Dienst bieten zu können. Schließlich möchte ich auch ohne /etc/hosts Dateien oder Äquivalente auf meinen Server per telnet etc. zugreifen können.
Die named Konfigurationsdatei sieht bei mir wie folgt aus:
// /etc/named.conf for DNS/bind
8 generated by netdb.mknamed.conf
//
// DO NOT EDIT THIS FILE AT ANY OTHER LOCATION THAN $NETDB/def/named.conf
//
// Global options for kostis.net and kostis.de
//
// 194.25.2.129 is dns00.btx.dtag.de
options
{
directory "/var/named";
forwarders { 194.25.2.129;
};
forward only;
multiple-cnames
yes;
};
//
zone "." { type hint ; file "named.ca"; };
//
// localhost and loopback things - this can be identical
everywhere
//
zone "0.0.127.in-addr.arpa" { type master; file "named.local";
};
//
// The rest is generated by netdb.mknamed.conf
//
// This script uses the files at $NETDB/def/named/ to find out
which zones
// should be added. Add all zone file headers there.
//
// Use the string KEY instead of a real key since the script
netdb.mknamed
// will automagically replace KEY with a current key comprised of
current
// date and an index from 01 to 99.
//
// If you have static DNS zones such as kostis.de
// make sure to create a symbolic link (in this example for
kostis.de):
//
// ln -s /var/named/db.kostis.de /etc/netdb/def/named/db.kostis.de
//
zone "0.168.192.in-addr.arpa" { type master; file
"db.192.168.0"; };
zone "kostis.de"
{
type master;
file "db.kostis.de";
};
zone "kostis.net"
{
type master;
file "db.kostis.net";
};
// end of config file generated by netdb
Nicht wundern, ich verwende ein selbstgeschriebenes Tool (netdb) zum Erzeugen der named Dateien. Das geht natürlich auch alles manuell und bei Redhat linux 6.2 auch über linuxconf.
domain kostis.net
search kostis.net kostis.de
nameserver 192.168.0.254
; This file holds the
information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: May 19, 1997
; related version of root zone: 1997051700
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN
NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; formerly TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; formerly NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; formerly NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; formerly NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
. 3600000 NS J.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; temporarily housed at ISI (IANA)
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; temporarily housed at ISI (IANA)
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 198.32.65.12
; End of File
@ IN SOA localhost. root.localhost.
(
2000031901
; serial
28800
; refresh
14400
; retry
3600000
; expire
86400
; default_ttl
)
@ IN NS localhost.
1 IN PTR localhost.
@ IN SOA live.kostis.net.
hostmaster.kostis.net. (
2000032401
; serial
86400
; refresh
3600
; retry
2419200
; expire
86400
; default_ttl
)
IN A 195.185.186.47
IN MX 100 mail.kostis.net.
IN NS live.kostis.net.
;
; Loopback Interface
;
loopback IN A 127.0.0.1
localhost IN A 127.0.0.1
lo IN A 127.0.0.1
;
; the rest is generated by netdb
;
mail IN A 62.144.115.20
www IN A 195.185.186.47
c1003 IN A 192.168.0.1
rt328 IN A 192.168.0.2
natlive IN A 192.168.0.5
soul IN A 192.168.0.6
funk IN A 192.168.0.7
soultx IN A 192.168.0.8
rock IN A 192.168.0.9
dhcp01 IN A 192.168.0.11
dhcp02 IN A 192.168.0.12
dhcp03 IN A 192.168.0.13
dhcp04 IN A 192.168.0.14
dhcp05 IN A 192.168.0.15
dhcp06 IN A 192.168.0.16
dhcp07 IN A 192.168.0.17
dhcp08 IN A 192.168.0.18
dhcp09 IN A 192.168.0.19
dhcp10 IN A 192.168.0.20
ps65172f IN A 192.168.0.253
live IN A 192.168.0.254
ftp IN CNAME www
ns IN CNAME live
ldap IN CNAME live
@ IN SOA live.kostis.net.
kosta.kostis.net. (
2000011202
; serial
86400
; refresh
3600
; retry
2419200
; expire
86400
; default_ttl
)
;
; this file is maintained manually
;
IN A 195.185.186.47
IN MX 100 live.kostis.net.
IN NS live.kostis.net.
;
; Loopback Interface
;
loopback IN A 127.0.0.1
localhost IN A 127.0.0.1
lo IN A 127.0.0.1
;
; machine(s) on the Internet
;
www IN A 195.185.186.47
ftp IN A 195.185.186.47
mail IN A 62.144.115.20
@ IN SOA live.kostis.net.
hostmaster.kostis.net. (
KEY
; Serial
10800
; Refresh 3H
3600
; Retry 1H
604800
; Expire 1W
86400
) ; Minimum 1D
IN NS live.kostis.net.
;
; DO NOT EDIT THIS FILE DIRECTLY. APPLY ALL CHANGES TO NETDB
;
;
; the rest is generated by netdb
;
1 IN PTR c1003.kostis.net.
2 IN PTR rt328.kostis.net.
5 IN PTR natlive.kostis.net.
6 IN PTR soul.kostis.net.
7 IN PTR funk.kostis.net.
8 IN PTR soultx.kostis.net.
9 IN PTR rock.kostis.net.
11 IN PTR dhcp01.kostis.net.
12 IN PTR dhcp02.kostis.net.
13 IN PTR dhcp03.kostis.net.
14 IN PTR dhcp04.kostis.net.
15 IN PTR dhcp05.kostis.net.
16 IN PTR dhcp06.kostis.net.
17 IN PTR dhcp07.kostis.net.
18 IN PTR dhcp08.kostis.net.
19 IN PTR dhcp09.kostis.net.
20 IN PTR dhcp10.kostis.net.
253 IN PTR ps65172f.kostis.net.
254 IN PTR live.kostis.net.
Um Maschinen im Netzwerk automatisch mit einer IP Adresse zu versorgen und Dinge wie das Default-Gateway etc. einzustellen, bietet sich DHCP an. dhcpd ist einfach zu konfigurieren. Ein Beispiel für eine solche Konfiguration ist hier:
subnet 192.168.0.0 netmask
255.255.255.0
{
default-lease-time
864000 ;
max-lease-time
2592000 ;
option subnet-mask
255.255.255.0 ;
option broadcast-address
192.168.0.255 ;
option routers
live ;
option domain-name-servers
live.kostis.net ;
option domain-name
"kostis.net" ;
option netbios-name-servers
live.kostis.net ;
option netbios-node-type
8 ;
option pop-server
live.kostis.net ;
range 192.168.0.11
192.168.0.20 ;
host natlive
{
hardware
ethernet 00:60:97:82:96:8A ;
fixed-address
natlive.kostis.net ;
}
host soul
{
hardware
ethernet 00:80:C8:89:3C:FD ;
fixed-address
soul.kostis.net ;
}
host ps65172f
{
hardware
ethernet 00:90:27:65:17:2F ;
fixed-address
ps65172f.kostis.net ;
}
host soultx
{
hardware
ethernet 00:20:18:68:14:77 ;
fixed-address
soultx.kostis.net ;
}
host funk
{
hardware
ethernet 00:80:C8:89:3C:FE ;
fixed-address
funk.kostis.net ;
}
host c1003
{
hardware
ethernet 00:60:70:61:AA:90 ;
fixed-address
c1003.kostis.net ;
}
host rt328
{
hardware
ethernet 00:A0:C5:E0:08:1B ;
fixed-address
rt328.kostis.net ;
}
host live
{
hardware
ethernet 00:00:1C:D1:D8:AA ;
fixed-address
live.kostis.net ;
}
}
Nein, diese Datei habe ich nicht manuell erstellt, sondern mit netdb generiert. :)
Nach all diesen Einstellungen und Änderungen müssen wir einmal das tun, was man unter Linux fast nie machen muß: den Rechner neu starten. Eigentlich muß man das gar nicht, man dann das auch "on the fly" aktivieren, man weiß dann allerdings nicht, ob das bei nächsten Neustart alles noch funktioniert.
Zu bearbeiten ist die Datei /etc/squid/squid.conf.
Im Abschnitt OPTIONS FOR EXTERNAL SUPPORT PROGRAMS ist die eigene email Adresse einzutragen:
ftp_user kosta@kostis.net
Im Abschnitt ACCESS CONTROLS ist eine Zeile einzufügen:
acl lan src 192.168.0.0/255.255.255.0
wobei die Netzwerkadresse meines LANs 192.168.0.0 ist mit der Subnetzmaske 255.255.255.0.
Weiterhin ist hinzuzufügen:
http_access allow lan
Damit dürfen Maschinen im LAN den Proxy verwenden.
Folgende Differenzen ergeben sich also gegenüber der Default-Konfigurationsdatei:
[root@live squid]# diff
squid.conf squid.conf.default
544c544
< ftp_user kosta@kostis.net
---
> #ftp_user Squid@
994d993
< acl lan src 192.168.0.0/255.255.255.0
1031d1029
< http_access allow lan