[zorp-hu] ADSL+fix IP -> problema, berelt vonal, masik hely nem problema
Deim Agoston
ago@lsc.hu
Fri, 28 Jun 2002 14:52:16 +0200
Sziasztok!
LAssan mar mindent feladok, Scott is probalt mar segiteni, de tobb szem
tobbet lat alapon a kovetkezo problemat vetnem fel:
- adott egy 10.0.0.0-s alhalo, hozza kifele egy fix IP-s ADSL
- adott most mar a vegletekig lebutitott ipchains (csak redirect van mar) es
Zorp (csak HTTP szures, abban sincs kulon osztaly)
Kernel: 2.2.21, a siterol letoltott patchek hozzaadva, freeswan.org-rol
leszedve a 1.97-es valtozat, abbol forgatva a binaris, make menugoval
megcsinalva. A csomaszureshez:
CONFIG_IP_FIREWALL=y -> kotelezo ugyebar
CONFIG_IP_FIREWALL_NETLINK=y
CONFIG_NETLINK_DEV=y
CONFIG_IP_ROUTE_FWMARK=y -> csak ugy
CONFIG_IP_TRANSPARENT_PROXY=y - > kotelezo ugyebar
CONFIG_IP_MASQUERADE=y -> megszokas
Kernel telpitve, szukseges opciok:
/proc/sys/net/ipv4/ip_forward 1
/proc/sys/net/ipv4/conf/all/rp_filter 0 es ez minden if-re igaz
Interfacek:
eth0 - kell a ppp0-nak, ADSL kovetelmeny
eth1 - belso if
lo - standard
ppp0 - kifele biztositja a kapcsolatot, fix IP, ADSL
instances.conf tartalma:
intra --log-tags --verbose=5 -p /etc/zorp/policy.py
A teszteles es orulet hataran levo policy.py tartalma:
from Zorp.Core import *
from Zorp.Http import *
Zorp.firewall_name = 'zorp@inside'
InetZone("intranet", "10.0.0.0/24", inbound_services=[], outbound_services=["intra_HTTP_inter"]),
InetZone("internet","0.0.0.0/0", inbound_services=["intra_HTTP_inter"], outbound_services=[])
def intra():
Service("intra_HTTP_inter", HttpProxy)
Listener(SockAddrInet("10.0.0.40", 51080), "intra_HTTP_inter")
ipchainsben a kovetkezokeppen nez ki most:
REDIRECT tcp ----l- 10.0.0.0/24 anywhere any -> www => 51080
De, hogy kulon lancon tartsam a dolgokat, voltak mar a kovetkezo szabalyok is:
(ipchains-utils-szal es anelkul generalva)
ipchains -A input -i eth1 ! -d 10.0.0.40/32 -j INtra
ipchains -A INtra -d 0.0.0.0/0 80 -p tcp -j REDIRECT 51080 (es ugyanez logolva is)
Routing tabla:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
nilus-Loopback0 * 255.255.255.255 UH 0 0 0 ppp0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth1
default nilus-Loopback0 0.0.0.0 UG 0 0 0 ppp0
Windowson gw a 10.0.0.40, lokalis DNS van, command-bol fel tudja oldani a
neveket/cimeket, DNS a 10.0.0.40-en levo BIND.
Ami tortenik:
Indulaskor a kovetkezo latszik a logban:
Jun 28 16:55:35 rawhide intra[980]: core.info(5): zorp version 1.4.4 going down.
Jun 28 16:55:37 rawhide intra[1169]: core.debug(0): Verbosity level: 5
Jun 28 16:55:37 rawhide intra[1169]: core.info(5): zorp version 1.4.4 starting up
Jun 28 16:55:38 rawhide intra[1169]: core.debug(5): (zorp/nosession): Zone(intranet): outbound service=intra_HTTP_inter
Jun 28 16:55:38 rawhide intra[1169]: core.debug(5): (zorp/nosession): Zone(internet): inbound service=intra_HTTP_inter
Jun 28 16:55:38 rawhide intra[1169]: core.caps(5): (zorp/nosession): Changing process capabilities; caps='= cap_net_bind_service+ep cap_net_admin+p'
Jun 28 16:55:38 rawhide intra[1169]: core.caps(5): (zorp/nosession): Changing process capabilities; caps='= cap_net_bind_service,cap_net_admin+ep'
Jun 28 16:55:38 rawhide intra[1169]: core.caps(5): (zorp/nosession): Resetting process capabilities; caps='= cap_net_bind_service,cap_net_admin+p'
Ha kozvetlenul csatlakozom a proxyhoz (Exploderben proxy a 10.0.0.40, port a
51080) termeszetesen megakadalyoz, logban a kovetkezo latszik:
Jun 28 13:00:54 rawhide intra[1114]: core.session(3): (zorp@valinal/intra_HTTP_i
nter:0): Starting proxy instance; client_fd='9', client_address='AF_INET(10.0.0.
4:1138)', client_zone='Zone(intranet, 10.0.0.0/24)', client_local='AF_INET(10.0.
0.40:51080)'
Jun 28 13:00:54 rawhide intra[1114]: core.session(4): (zorp@valinal/intra_HTTP_i
nter:0/http): Proxy starting; class='HttpProxy', module='http'
Jun 28 13:00:54 rawhide intra[1119]: core.policy(1): (zorp@valinal/intra_HTTP_in
ter:0): Inbound service not permitted; service='intra_HTTP_inter', zone='Zone(in
tranet, 10.0.0.0/24)'
Jun 28 13:00:54 rawhide intra[1119]: http.debug(5): (zorp@valinal/intra_HTTP_int
er:0/http): An error occurred, serving error file; filename='/usr/share/zorp/htt
p/connecterror.html'
Jun 28 13:00:54 rawhide intra[1119]: core.session(4): (zorp@valinal/intra_HTTP_i
nter:0/http): Proxy ending; class='HttpProxy', module='http'
Jun 28 13:00:54 rawhide intra[1119]: core.accounting(5): (zorp@valinal/intra_HTT
P_inter:0): client: accounting info; duration='0', sent='842', received='297'
Mikor az atiranyitasra hagyatkoztam (gw a 10.0.0.40, DNS a 10.0.0.40) akkor a
kovetkezo jelent meg:
Jun 28 12:26:21 rawhide intra[822]: core.session(3): (zorp@valinal/intra_HTTP_in
ter:0): Starting proxy instance; client_fd='9', client_address='AF_INET(10.0.0.4
:1047)', client_zone='Zone(intranet, 10.0.0.0/24)', client_local='AF_INET(10.0.0
.40:51080)'
Es megallt. Alakitottam az ipchainst es a kovetkozot ertem el:
- meg logolassal sem latszik az, hogy egy csomag at lett volna iranyitva,
mindegy, hogy az input lancon vagy INtra lancon iranyitom at a zorp portjara
Ami furcsa:
Ugyanezek a csomagok, ugyanezek a szabalyok (ipchains, zorp) berelt vonalon
mennek, termeszetesen egy ket parameter mas, peldaul ott tudom ,hogy milyen
network es broadcast stb cim van a kulso interfacen, igy tudom finomitani
a szabalyokat a szuresre.
Hardware: ASUS alaplap, Celeron II proci. Csak azert irom le, mert erdekes:
alapertlemezesekent a REalTek halokartyak 0-as(!) IRQ-t kaptak, mind a ketto!
BIOS buzergalas ota nem, de azota minden kis hardware valtozas utan (pl
uj billentyu) felhozza a BIOS setupot....
Mit neztem el, de nagyon? Mar nem tudokm asra gondolni, mint valami nagyon
trivialisra....
Udv,
Ago