[Olug-list] Noen som kjører IPCop...
John L. Fjellstad
john-olug@fjellstad.org
Tue, 7 Oct 2003 21:11:52 +0200
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Torbjørn,
Fant problemmet ditt. La meg gå gjennom din iptables, så kan du se hva som
gikk galt.
I følge første meldingen prøvde å pinge fra 192.168.2.111 til 192.168.10.10.
Ping bruker icmp protokollen. 192.168.2.111 er i eth0, 192.168.10.10 er i
eth1. Pakken vil gå fra INPUT til FORWARD til OUTPUT. I hvert tilfelle må
den gå til ACCEPT for å komme seg videre til neste kjede. Husk også at
reglene begynner i begynnelsen og går nedover. Første regel som passer
stopper pakken.
# Input kjeden:
# Chain INPUT (policy DROP 11 packets, 2543 bytes)
# target prot opt in out source destination
# blir sendt her til en ny kjede ipac~0
1 ipac~o all -- any any anywhere anywhere
# ipac~o kjeden:
# gjør ikke noe annet enn å telle antall pakker pr interface
# vi drar tilbake til INPUT kjeden siden vi ikke har truffet ACCEPT ennå
# blir sendt til PSCAN kjeden hvis vi bruker tcp protokoll og
# tcp flaggene FIN,SYN... osv er satt
# det har vi ikke, siden vi er icmp protokoll
2 PSCAN tcp -- any any anywhere anywhere tcp
flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
# Igjen blir sendt til PSCAN hvis vi bruker tcp protoll med visse flagg
3 PSCAN tcp -- any any anywhere anywhere tcp
flags:FIN,SYN,RST,PSH,ACK,URG/NONE
# denne regelen bregrenser hvor mye SYN, RST, ACK/SYN pakker
# vi kan få, vi begrenser til 10/sec
4 tcp -- any any anywhere anywhere
tcp flags:SYN,RST,ACK/SYN limit: avg 10/sec burst 5
# alle pakker blir sendt til CUSTOMINPUT kjeden
5 CUSTOMINPUT all -- any any anywhere anywhere
# CUSTOMINPUT kjeden er helt tom
# drar tilbake til INPUT kjeden
# ACCEPT alle pakker som er allerede etablert eller er forbundet med en
# annen pakke (ftp trenger denne regelene)
6 ACCEPT all -- any any anywhere anywhere
state RELATED,ESTABLISHED
# ACCEPT alle pakker som kommer fra systemlokale nettverket (systemet er
# denne maskinen)
7 ACCEPT all -- lo any anywhere anywhere
## ACCEPT alle icmp pakker. OK, så i INPUT kjeden kom vi videre ##
8 ACCEPT icmp -- any any anywhere anywhere
# Jeg fortsetter litt for å forklare hva som skjer videre. Men vår ping
# har blitt akseptert og gått videre til FORWARD kjeden.
# ACCEPT alle pakker fra eth0 (green)
9 ACCEPT all -- eth0 any anywhere anywhere
# ACCEPT alle pakker fra ipsec+
10 ACCEPT all -- ipsec+ any anywhere anywhere
# send alle pakker til RED, reelt sett betyr alle pakker fra eth1 og eth2
11 RED all -- any any anywhere anywhere
# vi tar en kikk på RED kjeden
# denne regelen er litt bizarre
# ifølge denne regelen tar du imot bootp images fra internett?
ACCEPT tcp -- eth2 any anywhere anywhere tcp
spt:bootps dpt:bootpc
ACCEPT udp -- eth2 any anywhere anywhere udp
spt:bootps dpt:bootpc
# igjen, ikke så mye som foregår. Forskjellige typer iface blir akseptert
# Legg merke til at eth1 ikke ennå har blitt akseptert ffra noen regeler
# med unntak av icmp
ACCEPT gre -- eth2 any anywhere anywhere
ACCEPT ipv6-crypt -- eth2 any anywhere anywhere
ACCEPT ipv6-auth-- eth2 any anywhere anywhere
ACCEPT udp -- eth2 any anywhere anywhere udp
spt:isakmp dpt:isakmp
# drar tilbake til INPUT kjeden
# blir sendt til XTACCESS kjeden
12 XTACCESS all -- any any anywhere anywhere
# alle pakker som blir sendt til 10.0.0.202 (vår maskin) fra internett til
# port auth blir akseptert
ACCEPT tcp -- eth2 any anywhere 10.0.0.202
tcp dpt:auth
# tilbake til INPUT kjeden
# logger litt
13 LOG all -- any any anywhere anywhere
limit: avg 10/min burst 5 LOG level warning prefix `INPUT '
# POLICY er DROP så resten av pakkene blir droppet. Det betyr
# at all trafikk fra orange (eth1) som ikke er icmp eller startet fra
# et annet sted blir droppet.
# OK,så vi tar en kikk på FORWARD kjeden
# igjen disse to kjedene, ipac~fi og ipac~fo, gjør ikke noe annet
# enn å telle hvor mange pakker som har gått igjennom systemet
ipac~fi all -- any any anywhere anywhere
ipac~fo all -- any any anywhere anywhere
# logging regler for tcp
PSCAN tcp -- any any anywhere anywhere tcp
flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
PSCAN tcp -- any any anywhere anywhere tcp
flags:FIN,SYN,RST,PSH,ACK,URG/NONE
# vi blir sendt til CUSTOMFORWARD kjeden, som er tom
CUSTOMFORWARD all -- any any anywhere anywhere
# alle pakker som allerede har blitt startet, fortsetter
ACCEPT all -- any any anywhere anywhere state
RELATED,ESTABLISHED
# alle pakker fra eth0 (green) blir akseptert, vi har eth1 (orange) og eth2
# (red) igjen
ACCEPT all -- eth0 any anywhere anywhere
# pakker fra ipsec+ blir akseptert
ACCEPT all -- ipsec+ any anywhere anywhere
# pakker fra orange til ipsec+ blir droppet
DROP all -- eth1 ipsec+ anywhere anywhere
# tcp og udp pakker fra orange og som ikke skal til green
# blir akseptert
ACCEPT tcp -- eth1 !eth0 anywhere anywhere
ACCEPT udp -- eth1 !eth0 anywhere anywhere
# vi blir sendt videre til PORTFWACCESS kjeden, som er tom
PORTFWACCESS all -- any any anywhere anywhere
# alle pakker til green blir sendt til DMZHOLES kjeden, som er tom
DMZHOLES all -- any eth0 anywhere anywhere
# resten blir logged
LOG all -- any any anywhere anywhere limit:
avg 10/min burst 5 LOG level warning prefix `OUTPUT '
# POLICY for FORWARD er å droppe alt annet. Har du lagt merket til
# annet ingen av reglene i FORWARD tar seg av icmp (ping) pakkene?
# Du har ikke engang regler for pakkene som kommer fra red (eth2)
# OUTPUT kjeden er ganske enkel fordi den bare sender pakker til
# ipac~i, som bare teller pakker.
Problemet ditt er i FORWARD kjeden.
John
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iEYEARECAAYFAj+DD/sACgkQkz0vhQtHHRj4MACfSmwXBKwBECsX4vXEcS0RWmPb
j6gAniFIBgoTNHqU/sEIl+iiGbMK+eed
=NuTO
-----END PGP SIGNATURE-----