Gå til innhold

treig internet med iptables


Anbefalte innlegg

Sliter for tiden med hastigheten på ADSL linja mi. Har en Gentoo boks stående som filserver (FTP og Samba). Da maskina har to nettverkskort vil eg dele ut internet linja mi ved hjelp av IPTABLES. Delingen fungerer fint, og eg har kontroll over innkommende og utgående trafikk, samt NAT ol. Problemet er derimot at når iptables er aktivert, gåt internetforbindelsen ganske treigt. Både på serveren og på klientmaskinene går browsing seint, og eg har en svartid på ping på over 2000 ms. Se under for et eksempel.

 

64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=1 ttl=119 time=1928 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=2 ttl=119 time=1908 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=3 ttl=119 time=2382 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=5 ttl=119 time=2274 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=6 ttl=119 time=2292 ms

Om eg deaktiverer IPTABLES går alt mye raskere, og svartiden er normal (20 -30 ms). Se under for eksempel:

64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=1 ttl=119 time=31.0 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=2 ttl=119 time=31.2 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=3 ttl=119 time=30.7 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=4 ttl=119 time=31.2 ms

Om eg aktiverer IPTABLES mens eg pinger, ser eg at svartiden gradvis økes fra normalen til over 2000 ms. Se under for eksempel på dette:

64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=1 ttl=119 time=31.2 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=2 ttl=119 time=40.7 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=3 ttl=119 time=40.4 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=4 ttl=119 time=31.7 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=5 ttl=119 time=223 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=6 ttl=119 time=559 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=7 ttl=119 time=874 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=8 ttl=119 time=1141 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=9 ttl=119 time=1000 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=10 ttl=119 time=1352 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=11 ttl=119 time=1479 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=12 ttl=119 time=2138 ms
64 bytes from web1.eniro.basefarm.net (80.69.226.133): icmp_seq=13 ttl=119 time=2218 ms

Har stort sett kjørt mitt eget oppsett, men da eg fikk disse problemene, installerte eg en ferdig firewall, kalt killerwall. Begge gir samme resultat. IPTABLES skriptet eg brukte før ser slik ut:

iptables -F
iptables -F -t nat
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 193.217.189.15

iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT

# INPUT CHAIN
iptables -N input_ext
iptables -A INPUT -i eth1 -j input_ext
iptables -A input_ext -p tcp --dport 80 -j ACCEPT
iptables -A input_ext -p tcp --dport 20:21 -j ACCEPT
iptables -I input_ext -m state --state RELATED,ESTABLISHED -j ACCEPT

# FORWARD CHAIN
iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -o eth1 -j ACCEPT
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

# OUTPUT CHAIN
iptables -P OUTPUT ACCEPT

echo "1" > /proc/sys/net/ipv4/ip_forward

Noen som har noen forslag på hva som kan være problemet. Ønsker helst å bruke denne serveren til å dele internetforbindelsen min. Alternativet er å bruke en hardware brannmur, men ønsker å bruke linux til mest mulig.

 

Hilsen

Dionysos :evil:

Lenke til kommentar
Videoannonse
Annonse
 1    <1 ms    <1 ms    <1 ms  192.168.0.1
 2  2497 ms  2214 ms  2436 ms  217-188-1.5001.adsl.tele2.no [193.217.188.1]
 3  2579 ms  2402 ms  2478 ms  193.216.252.121
 4  2224 ms  2303 ms  2466 ms  ge-0-2-0.br4.osls.no.catchbone.net [193.156.120.3]
 5  2235 ms  2086 ms  2115 ms  ge-0-1-1.cr1.osls.no.catchbone.net [193.75.3.6]
 6  2453 ms  2339 ms  2460 ms  v261.rs2.sand.no.catchbone.net [193.75.3.1]
 7  2354 ms  2424 ms  2123 ms  193.69.165.11
 8  2182 ms  2326 ms  2488 ms  193.69.165.21

Trace complete.

Lenke til kommentar

Hva er 192.168.0.1?

 

Jævla snodig fenomen btw.. Hva er loaden på serveren? (uptime)

 

Ha iptables-reglene dine aktivert og prøv følgende (ping samtidig og ta en av de om gangen)

 

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

Endret av xeon
Lenke til kommentar

iptables -N input_ext

iptables -A INPUT -i eth1 -j input_ext

iptables -A input_ext -p tcp --dport 80 -j ACCEPT

iptables -A input_ext -p tcp --dport 20:21 -j ACCEPT

iptables -I input_ext -m state --state RELATED,ESTABLISHED -j ACCEPT

 

Vel, er dette alt du tillater av innkommende trafikk, er jeg ikke overrasket over at ting fungerer dårlig. Du bør vel tillate litt ICMP messages også.

 

iptables -N SANITY
iptables -A SANITY -p icmp -f -j DROP
for f in echo-reply destination-unreachable source-quench \
          time-exceeded parameter-problem echo-request
 do iptables -N input-ext -p icmp --icmp-type $f -j ACCEPT
done
iptables -A INPUT -j SANITY
iptables -A FORWARD -j SANITY

 

Samtidig så stusser jeg over denne linja:

 

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 193.217.189.15

 

Ettersom jeg ikke så 193.217.189.15 i tracerouten din noe sted. Siden jeg aldri har brukt SNAT vet jeg ikke hvordan det skal være. Jeg bruker MASQUERADE selv, da, og denne linja fungerer for meg:

 

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

 

Hvor vidt det gjør noen forskjell vet jeg ikke.

Lenke til kommentar
Hva er 192.168.0.1?

 

Jævla snodig fenomen btw.. Hva er loaden på serveren? (uptime)

 

192.1678.0.1 (eth0) er LAN kortet på serveren. Eth1 (dhcp) er LAN kortet. Loaden er så og si null og uptime er liten, siden eg har restartet et par ganger under feilsøkingen.

 

Jototlanb: Får samme symtomer når eg bruker killerwall også. Rekner med at default oppsettet til killerwall er relativt utprøvd og fri for feil. Men kan du for sikkerhets skult sende meg et komplett firewall skript som slipper ut alt og blokkerer nesten alt inn, samt tar seg av NAT (evt. masq). Hva er forskjellen på SNAT og MASQ forresten?

 

Dionysos :evil:

Lenke til kommentar
Hva er 192.168.0.1?

 

Jævla snodig fenomen btw.. Hva er loaden på serveren? (uptime)

 

192.1678.0.1 (eth0) er LAN kortet på serveren. Eth1 (dhcp) er LAN kortet. Loaden er så og si null og uptime er liten, siden eg har restartet et par ganger under feilsøkingen.

Tror nok du må forklare det en gang til :)

 

Men *antar* at eth0 er ut mot internett.. hva er neste stopp på veien?

 

uansett bør du nok bruke masquerading i stedet for snat (bare bytt ut din snat linje med masq linjen )

 

eventuelt kan du også prøve scriptet mitt som jeg bruker til fw'en min http://remiss.org/download/rc.firewall

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...