← Back to team overview

sslug-teknik team mailing list archive

Re: IP-Masqueradeing problem

 

David Sebastian Neumann wrote:

> Hejsa.
>
> Jeg har fået min linux box til at fungere helt fint med diald, og har haft stor glæde af at bruge den til at gå på internettet. Nu har jeg så fået den ide at jeg vil bruge den som en slags gateway til internettet, sådan at min winslows maskine kan komme på nettet også.
>
> Derfor prøvede jeg at sætte IP-Masquerading op, og fulgte den howto, samt diverse dokumenter om emnet, meget nøje. Nu er jeg så kommet så langt som at min winslows maskine når jeg starter Netscape eller Internet explorer sender en request ud på nettet, efter en hjemmeside, og min linux box bruger så diald til at etablere forbindelsen til min ISP. Når forbindelsen er blevet oprettet, står min winslows maskine og venter på timeout til hjemmesiden, og så siger den at den ikke kan finde siden, jeg har tjecket at ppp0 er oprettet, og at default route er lavet, men aligevel virker det ikke.
>
> Min maskine har været sat op som DNS server også, sammen med diald m.v og der kunne jeg lave nslookup fra min egen NT boks, og den fandt IP adressen, men meddelte mig følgende : Network is unreachable. Det samme gør windows 98-
>
> Hvad  er der galt ? Hvis nogen kender en side med løsningen, eller kan give mig en howto ( Meget meget grundig, da Kernel-HOWTO i linux smadrede min boks da jeg selv prøvede ) til at opgradere kernen, da det jo måske kan være fordi IP-masquerading ikke er slået til vil jeg blive meget glad.

IP-masquerading er ikke slået til default.

Det du skal gøre er følgende.
1. Download kerne2.2.9

2. pak filen ud i det rigtige bibliotek. Filerne skal ligge i /usr/src/linux

3. kør kommandoen "make mrproper"

4. kør kommandoen "make xconfig" (fra en shell i dit x-window - mannager:-) Her skal du så tage en dyb indånding og så gå igang. Kør alle punkterne igennem. Er der nogen, som du er i tvivl om er der en glimrende hjælpevejledning til hvert punkt med hint som "er du i tvivl, så sig ja her" eller "hvis du ikke ved hvad det er, så sig nej"

I kernen skal følgende med udover de krævede for at din maskine fungere:

    Under punktet "General setup" skal du sige ja til:
        -Sysctl support
    Under punktet "Networking Options" skal du sige ja til:
        -Network firewalls
        -IP:firewalling
        -IP:Always defragment (required for masquerading)
        -IP:Transperant proxy support
        -IP:masquerading
        -IP:ICMP masquerading
        -IP:tunneling
    Under punktet "Filesystems" skal du sige ja til:
        -/proc filesystem support


Så er kernen i hvert fald klar.

Nu skal du så compile den med følgende kommandoer.

først laver du "make dep"

så laver du "make bzImage"

Den nye kerne finde sandsynligvis i biblioteket "/usr/src/linux/arch/i386/boot/" Den skal flyttes til /boot

Herefter ændre du din LILO.conf fil, som findes i /etc , så den peger på den nye kerne, istedet for den gamle 2.0.?? som typisk hedder vmlinux-??

Når det er gjort skal du fra komandopromten skrive "lilo" for at geninstallere LILO med de nye indstillinger


Så skal du sikre dig at du har ipchains installeret på din maskine, da det behøves for at få masquerading til at fungere med kerne 2.2.Z


For at starte masquerading kan du anvende følgende script:

________________________________________________

#!/bin/sh


# This is the best method: turn on Source Address Verification and get
# spoof protection on all current and future interfaces.
  if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
    echo -n "Setting up IP spoofing protection..."
    for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
        echo 1 > $f
    done
    echo "done."
  else
    echo PROBLEMS SETTING UP IP SPOOFING PROTECTION.  BE WORRIED.
    echo "CONTROL-D will exit from this shell and continue system startup."
    echo
    # Start a single user shell on the console
    /sbin/sulogin $CONSOLE
fi

# div. moduler

/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_vdolive

# initialisere firewall
# Default accepter IKKE !
/sbin/ipchains -P input DENY

# Accepter alt paa alle ethernet kort.
/sbin/ipchains -A input -i eth+ -j ACCEPT
/sbin/ipchains -A input -i lo -j ACCEPT
# Næste linie er måske ikke helt 100% sikker, men ellers kunne jeg
# ikke lige få det til at virke..
/sbin/ipchains -A input -i ppp+ -j ACCEPT

# Sikkerhed!
/sbin/ipchains -A input -i ppp+ -s 10.10.10.0/24 -l -j DENY

# Her kan du så sætte op hvilke maskiner der må kommer på nettet.
# Hostnavnene (f.eks. pii.dn) kan udskiftes med en IP addr.
/sbin/ipchains -A forward -j MASQ -s 192.168.1.2/32 -d 0.0.0.0/0

# Start the kernel forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

__________________________________________________

Så skulle det køre.

Læs i øvrigt README filen som følger med kernekoden. Den er ganske udemærket.

Held og Lykke
MVH Christian



References