proxy

Zahemszky Gabor zgabor at CoDe.hu
1998. Dec. 1., K, 13:23:30 CET


> 
> 	Sziasztok!
> 
> 	Uj vagyok itt a listan, es raadasul kezdo a BSD-hez, igy hat a
> segitsegeteket kerem. Szeretnek felallitani otthon egy modem-lan osszekoto
> szervergepet. Nekem NetBSD-m van, nem tudom, mennyire hasonlit a
> FreeBSD-hez, de ezzel szeretnem megoldani a dolgot. Ha tudnatok segiteni,
> hogy mukodjon a dolog, nagyon orulnek. Igazabol semmi tapasztalatom nincs e
> teren, ugyhogy nem lesz egy egyszeru dolog...

Szia!

Kicsit talan lehetnel bovebb is, nem akkora a lista forgalma, hogy ne birna el
egy bovebb magyarazatot.

1) ha mondjuk elarulnad, hogy ppp-t vagy slip-pet akarsz
2) egyszeru gateway-kent akarod, vagy a subject-beli proxy jelent is valamit
3) stb

valasz:

Eloszor is, mint minden unixos problema eseten: man!  Masodszor egy jo
sysadmin konyv (nekem az Evi Nemeth-fele UNIX System Administration 2nd
Edition jut eszembe), eleg sokat beszel altalaban a BSD-krol is (speciel
egyiket sem emliti, de a BSDI-t igen, ha jol emlekszem; raadasul se slip, se
ppp, se proxy nincs benne ;-( ).  Kovetkezo lepeskent a FreeBSD FAQ es
HandBook nagyon jol leirja majd mindegyik dologra a valaszt (szerintem a
magyar tukron is elerheto, ha van web-ed: www.hu.freebsd.org/noeztnemtudom,
vagy persze a kinti gepek www.freebsd.org), es vegul igazan nem dicserni
akarom, de ha nekem problemam van, es nem talalok bsd-s infot, akkor a
Linuxos HowTo-k igen jok, ha nem teljesen Linux specifikus dolgokat olvasol
eppen (de azok is altalaban jok, mert azert annyira megsem specifikusak :-)

1)
	a) slip eseten:
chat - a tarcsazashoz es a vonal felhuzasahoz
slattach - ez az ``ifconfig''
	b) pppd:
pppd - legalabbis asszem NetBSD-n csak ez az egy ppp megvalositas van.
Ehhez egy pelda, a FreeBSD-s megvalositas eseten /etc/ppp/options a
filename:
--- /etc/ppp/options ---
/dev/modem
115200
crtscts
modem
connect "/usr/bin/chat -f /etc/ppp/chatscript"
noipdefault
passive
:ez.a.tuloldali.ipcim
defaultroute
demand
persist
idle 30
--- /etc/ppp/chatscript ---
ABORT BUSY
ABORT 'NO CARRIER'
TIMEOUT 5 "" AT&F0
OK-ATQ0-OK ATE1Q0W1
OK AT&C1&K3&R0
OK ATD--telefonszam--
TIMEOUT 40 CONNECT ""
TIMEOUT 25 ogin:--ogin: EzALoginod
word: EzMegAPasswordod
---
Az egesz pppd inditas elvegezheto parancssorbol, is, de foleg a login/pwd
nem ajanlatos, ezert raktam en fajlba mindent (ps-sel nem lathatok az infok)
termeszetesen mode 600, mert kinek mi koze a te otthoni halodon, hogy milyen
szamot hivsz, es mi a login szekvencia.

	c) ppp:
Most hirtelen az ugrott be, hogy van a NetBSD-ben is tun device, akkor
nyilvan van user-level-ppp (ezt hijjak ppp-nek, meg iij-ppp-nek), ekkor tehat
ezt is lehet hasznalni.  Ilyenkor a /etc/ppp/ppp.conf-ban vannak a dolgok:
--- /etc/ppp/ppp.conf ---
default:
 set log Connect Carrier IPCP
 set device /dev/modem
 set speed 115200
 deny lqr
 deny pred1
 disable lqr
 disable pred1
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT&F0 OK-ATQ0-OK ATE1Q0W1 OK AT&C1&K3&R0 OK \\dATDT\\T TIMEOUT 40 CONNECT"

szolgaltatoneve:
 set phone "egyikszam|masikszam|harmadikszam"
 set authname LoginNev
 set authkey Password
 set login "TIMEOUT 25 ogin:--ogin: \\U word: \\P"
 set timeout 30
 set ifaddr 193.226.223.1/0 193.226.223.62/0 255.255.255.0 0.0.0.0
 delete ALL
 add 0 0 HISADDR
--- /etc/ppp/ppp.linkup ---
MYADDR:
 delete ALL
 add 0 0 HISADDR
 !bg /bin/cp /usr/local/lib/speak_freely/ring.au /dev/audio
 ! /bin/sleep 3
 !bg /usr/sbin/ntpdate -s ts1.euroweb.hu gatekeeper.ohvi.hu
--- /etc/ppp/ppp.linkdown ---
MYADDR:
 ! /usr/bin/true
 !bg /bin/cp /usr/local/lib/speak_freely/busy.au /dev/audio
---

A ppp.conf-ban egy trukk van: ha chap/pap van, akkor enable/disable es
accept/deny a megfelelok, es ki kell szedni a set login kezdetu sort.  Ha
van login, akkor _nem_ jatszik le pap-ot/chap-ot (magyarul: chap-ot pap-ot
otthagyott Csokonai Vitez Mihaly).  Termeszetesen mindenutt a te modemednek
megfelelo inicializalas, es a te loginodnak megfelelo login-t kell beleirni
a configokba.  A link{up.down} scriptek nem feltetlenul kellenek, ez peldaul
azert jo, mert kapcsolodaskor hallom mikor epult ki a kapcsolat, es meg az
orat is beallitja ket stratum-4, v. -5 szervertol, akiket gyorsan elerek,
leallaskor meg megint csak hallom, hogy most bontott.  Ezek a peldak
egyebkent dinamikus ppp-s cimekkel igazak, staikus eseten egy kicsit
egyszerubb a dolog.  Vigyazni kell a fajl formatumaval, tenyleg ilyen, hogy
a cimkesorok elso pozocioban kezdodnek, de a konfig sorok szokoz utan.

Termeszetesen mind a slip, mind a ppp-s megvalositashoz olyan kernel kell,
amibe a megfelelo funkciok bele vannak forditva:
pseudo-device sl 1	# ez kell a slip-hez
pseudo-device ppp 1	# ez kell a pppd-hez
pseudo-device tun 1	# ez kell a user-level ppp-hez

Es persze a megfelelo eszkozfajl, ami csak tun eseten kell:
cd /dev
sh /dev/MAKEDEV tun0

2) gateway/proxy:

	a) gateway: valahol az rc scriptekben be kell allitani, hogy gateway
akarsz lenni, ami lefuttatja bootkor a sysctl -w net.inet.ip.forwarding=1
parancsot (FreeBSD eseten /etc/rc.conf, valami hasonlo lehet nalad is)
	b) folteszel megfelelo proxy programot, ezt nem tudom, de a
squid-et, es a delegade-et szoktak ajanlgatni.  Ilyenkor ha jol tudom :-)
net.inet.ip.forwarding=0

Udvozlunk a BSD UNIX-ot hasznalok taboraban, remelem tetszeni fog!  Kerdezz
batran meg a vegen az is lehet, hogy valaki tud valaszolni.

ZGabor at CoDe dot HU

-- 
#!/bin/ksh
Z='21N16I25C25E30, 40M30E33E25T15U!' ;IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ ';set $Z ;for i { [[ $i = ? ]]&&print $i&&break;[[ $i = ??? ]]&&j=$i&&i=${i%?};typeset -i40 i=8#$i;print -n ${i#???};[[ "$j" = ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};IFS=' 0123456789 ';set $Z;X=;for i { [[ $i = , ]]&&i=2;[[ $i = ?? ]]||typeset -l i;X="$X $i";typeset +l i;};print "$X"



További információk a(z) BSD levelezőlistáról