Puncte:1

iptables PREROUTING nu este în vigoare

drapel ru
Cal

Rulăm un ubuntu 20.04 în AWS. Încercăm să setăm o regulă iptables, astfel încât orice trafic MySQL cu o adresă IP falsă să fie redirecționat către baza de date MySql la 172.31.6.173 în același VPC. Lasă-mă să explic:

Adresele IP în această sarcină:

Server Ubuntu (sursă): 172.31.0.151

Server MySql (destinație): 172.31.6.173

MySql Dummy IP: 6.6.6.6

De la 172.31.0.151 (sursă) ne vom conecta la mysql la IP fictic (6.6.6.6) și va fi NAT la destinație (172.31.6.173).

Regulile pe care le-am folosit:

sudo iptables -t nat -A PREROUTING -s 172.31.0.151 -d 6.6.6.6 -j DNAT --to-destination 172.31.6.173
sudo iptables -A FORWARD -p tcp -d 172.31.6.173 -j ACCEPT

Prima linie specifică orice trafic de la 172.31.0.151, cu destinație pentru 6.6.6.6, va fi redirecționat la 172.31.6.173

A doua linie acceptă toate tcp înainte către 172.31.6.173.

Acestea sunt singurele reguli din iptables, dacă rulez sudo iptables -t nat -L, rezultatul este:

PRERUUTARE în lanț (politica ACCEPTĂ)
target prot opt ​​sursă destinație
DNAT toate -- 172.31.0.151 6.6.6.6 la:172.31.6.173

INTRARE în lanț (politica ACCEPTĂ)
target prot opt ​​sursă destinație

Ieșire în lanț (politica ACCEPT)
target prot opt ​​sursă destinație

POSTOUTING în lanț (politica ACCEPT)
target prot opt ​​sursă destinație

Cu toate acestea, cu aceste două reguli în vigoare, de la serverul sursă (172.31.0.151), când am încercat să mă conectez la MySql la IP fictic:

mysql -h 6.6.6.6 -u nume utilizator -p

Ieșirea tcpdump: (serverul MySql este o instanță RDS, ceea ce înseamnă că nu mă pot autentifica pentru a rula tcpdump, așa că pot obține tcpdump doar de la serverul sursă):

13:41:41.768171 IP 172.31.0.151.50374 > 6.6.6.6.mysql: Flags [S], seq 3441229166, win 62727, opțiuni [mss 8961,sackOK,TS val 2723434614 ecr 0,nop,wscale 7], lungime 0

13:41:45.992114 IP 172.31.0.151.50374 > 6.6.6.6.mysql: Flags [S], seq 3441229166, win 62727, opțiuni [mss 8961,sackOK,TS val 2723438838 ecr 0,nop,wscale 7], lungime 0

13:41:54.184186 IP 172.31.0.151.50374 > 6.6.6.6.mysql: Flags [S], seq 3441229166, win 62727, opțiuni [mss 8961,sackOK,TS val 2723447030 ecr 0,nop,wscale 7], lungime 0

Regula PREROUTING nu intră în vigoare, încercarea de autentificare este încă în căutarea unui server la 6.6.6.6, în loc să fie NAT la adresa IP reală de 172.31.6.173.

Orice sfat va fi apreciat. Mulțumesc.

Puncte:1
drapel cl
A.B

Presupun că regula lui OP a fost adăugată sistemului Ubuntu cu adresa IP 172.31.0.151, același sistem care inițiază apoi conexiuni mysql la o adresă falsă.

După cum se vede în asta Netfilter și rețele generale schematic: Fluxul de pachete în Netfilter și General Networking

  • primul pachet dintr-un flux inițiat de un proces local nu traversează nat/PREROUTING,
  • dar traversează nat/OUTPUT,
  • numai primul pachet (starea NOU) al unei conexiuni traversează nat tabel (deci pachetele suplimentare precum răspunsurile nu contează oricum aici).

Deci nat/PREROUTING nu are niciun efect pentru a redirecționa o conexiune inițiată local. Acest lucru ar trebui făcut în nat/OUTPUT. Deoarece acest lucru ar putea schimba chiar și interfața de utilizat (probabil nu în cazul lui OP), acest lucru declanșează a verificarea redirecționării mai târziu să se ocupe de un astfel de caz.

La final, regula ta ar trebui adăugată cu:

sudo iptables -t nat -A OUTPUT -s 172.31.0.151 -d 6.6.6.6 -j DNAT --to-destination 172.31.6.173

Dacă sistemul are o singură adresă IP: 172.31.0.151, -s 172.31.0.151 devine de prisos:

sudo iptables -t nat -A OUTPUT -d 6.6.6.6 -j DNAT --to-destination 172.31.6.173

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.