Üdv,
szóval, a következőt szeretném megvalósítani. Van két gép, A-nak ipje 10.0.0.1, B-nek ipje 10.0.0.2. És van egy ip cím, a 10.0.0.10, ami ha módon egyikre vagy másikra kerül heartbeat-nek köszönhetően. Namost a cél az lenne, hogy LVS-sel pl. FTP-hez olyat beállítani, hogy ha mindkét gép megy, akkor nagyjából load balanceolva lesznek A és B gép között a 10.0.0.10 kérések. Ha pedig csak egy megy, akkor nyilván csak arra menjen. Persze, majd heartbeat fogja vezérelni ezt is, de most még kézzel próbálom az alábbi konfiggal:
/usr/sbin/ldirectord /etc/ha.d/ldirectord.cf start
# Global Directives
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/cluster/ldirectord.log"
quiescent=yes
virtual=10.0.0.10:21
# fallback=127.0.0.1:21
real=10.0.0.1:21 gate
real=10.0.0.2:21 gate
service=ftp
request="welcome.msg"
receive="Welcome"
login="tesztuser"
passwd="Teszt321"
scheduler=rr
#persistent=600
protocol=tcp
checktype=negotiate
Elindítom, ipvsadm -L -n kimenete:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.10:21 rr
-> 10.0.0.1:21 Local 1 0 0
-> 10.0.0.2:21 Route 1 0 0
A és B gépen fut az FTP, a megadott user/pass-sal lehet is kapcsolódni, ott a fájl a megfelelő tartalommal.
De hiába próbálok kapcsolódni a 10-es ipre, timeout. Ilyenkor amit látok ipvsadm -L -n kimenetből az annyi, hogy lesz +1 InActConn-je az egyik gépnek...
Mit rontok el, mi hiányzik, vagy mit nem sikerült megértenem ennek kapcsán?
Köszönöm.
- 1432 megtekintés
Hozzászólások
tcpdump..
- A hozzászóláshoz be kell jelentkezni
Hát, ebbe annyi látszik A és B gépen is, hogy a 10.0.0.10-es ipre megy 21-es portra syn. De se válasz, se semmi.
Amelyiken meg fut az ldirectord, ott még néha egy RST,ACK válasz befigyel. Egyébként ennyi.
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Na, asszem rájöttem. Az volt a baja, hogy olyan címre ment a kérés, ami neki nem volt beállítva. Mindkét gépen csináltam egy lo:0-t a 10.0.0.10-es ipvel meg 255.255.255.255-ös subnet maskkal, ftp figyel rajta, és így megy.
Egyetlen probléma van még, a passzív portok. De ezt meg megoldom úgy, hogy más-más range-t állítok be, aztán tűzfalon forwardolom...
A többi service-el meg nem lesz ilyen gond, imap/pop3/stb. egy porton mennek. :)
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Ha route metódust használsz, akkor a szolgáltatást IP-t fel kell venned a másik gépen is, hogy a kernel elfogadja a csomagot és ne forwardolni akarja (vagy a lo-ra, vagy egy dummy interfészre). Vagy egyszerűen masq metódust használsz, bár ez talán ftp-nél okozhat problémákat.
- A hozzászóláshoz be kell jelentkezni
Igen, ez volt a megoldás, köszönöm, már rájöttem.
Viszont ebből nem lehet esetlegesen valami biztonsági probléma? Szóval hogy kintről jövő, jól formázott kerettel okos emberke nem tud semmit csinálni?
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni