Puncte:1

Adăugarea unei reguli la iptables înseamnă că are efect imediat?

drapel in

alerg sudo iptables -A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT în bash și apoi a încercat să se conecteze la acea mașină printr-o altă mașină de pe aceeași LAN / subrețea prin portul 2222 cu PuTTY și nu a funcționat.

Poate că trebuie să repornesc iptables după ce adaug regula pentru ca aceasta să aibă efect? Dacă da, cum aș face asta?

Iată rezultatul lui iptables -S:

-P ACCEPT INTRARE
-P PĂDURA ÎNTÂMPRE
-P ACCEPT IEȘIRE
-N DOCKER
-N DOCKER-IZOLARE-ETAPA-1
-N DOCKER-ETAPA DE IZOLARE-2
-N DOCKER-UTILIZATOR
-A INTRARE -p tcp -m tcp --dport 2222 -j ACCEPT
-UN FORWARD -j DOCKER-UTILIZATOR
-A ÎNAINTE -j DOCKER-ETAPA DE IZOLARE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,STABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A ÎNTÂMPRE -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o br-4f5770ea8905 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-4f5770ea8905 -j DOCKER
-A FORWARD -i br-4f5770ea8905 ! -o br-4f5770ea8905 -j ACCEPT
-A FORWARD -i br-4f5770ea8905 -o br-4f5770ea8905 -j ACCEPT
-A DOCKER -d 172.18.0.2/32 ! -i br-4f5770ea8905 -o br-4f5770ea8905 -p tcp -m tcp --dport 3306 -j ACCEPT
-A DOCKER -d 172.18.0.3/32 ! -i br-4f5770ea8905 -o br-4f5770ea8905 -p tcp -m tcp --dport 8080 -j ACCEPT
-A DOCKER -d 172.18.0.3/32 ! -i br-4f5770ea8905 -o br-4f5770ea8905 -p tcp -m tcp --dport 443 -j ACCEPT
-A DOCKER -d 172.18.0.7/32 ! -i br-4f5770ea8905 -o br-4f5770ea8905 -p tcp -m tcp --dport 6379 -j ACCEPT
-A DOCKER -d 172.18.0.8/32 ! -i br-4f5770ea8905 -o br-4f5770ea8905 -p tcp -m tcp --dport 3306 -j ACCEPT
-A DOCKER -d 172.18.0.10/32 ! -i br-4f5770ea8905 -o br-4f5770ea8905 -p tcp -m tcp --dport 3306 -j ACCEPT
-A DOCKER -d 172.18.0.3/32 ! -i br-4f5770ea8905 -o br-4f5770ea8905 -p tcp -m tcp --dport 80 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i br-4f5770ea8905 ! -o br-4f5770ea8905 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-IZOLARE-ETAPA-1 -j RETURNARE
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o br-4f5770ea8905 -j DROP
-A DOCKER-IZOLARE-ETAPA-2 -j RETURNARE
-UN DOCKER-USER -j RETURN

Iată rezultatul sudo iptables --line-numbers -L INPUT:

INTRARE în lanț (politica ACCEPT)
num target prot opt ​​sursă destinație
1 ACCEPT tcp -- oriunde oriunde tcp dpt:2222
drapel in
[Acest răspuns de câțiva ani în urmă](https://askubuntu.com/a/243180/1222991) este valabil și astăzi. În general, dacă doriți ca ceva să intre în vigoare imediat, `ufw` este instrumentul de care aveți nevoie. Acesta va înregistra schimbarea regulii în `iptables` și se va aplica în liniște în fundal.
Doug Smythies avatar
drapel gn
Da, regulile iptables adăugate intră în vigoare imediat. Am avea nevoie să fie postat întregul set de reguli iptables pentru a putea încerca să ajute mai mult. Dar, s-ar putea să fie nevoie să inserați, în loc să adăugați, acea regulă într-o etapă anterioară.
drapel in
@DougSmythies - Am adăugat întregul set de reguli iptables. Mulțumiri!
drapel in
@matigo - Am încercat `sudo ufw allow 2222` fără succes. Voi citi răspunsul iab - trebuie să merg să fac niște comisioane rapide. Mulțumiri!
Doug Smythies avatar
drapel gn
Setul de reguli iptables nu este problema. Sunteți sigur că computerul ascultă pe portul 2222?
Puncte:6
drapel in

Da, adăugarea regulilor prin comanda iptables are efect imediat.

Probabil că doriți să adăugați o regulă ACCEPT pentru port, deoarece doriți să înlocuiți regula care blochează toate sau majoritatea porturilor.

Cu toate acestea, ați adăugat regula cu -A care ar atașa regula la masă. Deoarece aveți deja o regulă de blocare (folosind ceva precum DROP sau REJECT), noua regulă va fi adăugată după aceea, făcând-o ineficientă.

Dacă doriți ca acest lucru să funcționeze, trebuie fie să introduceți regula (-I #) înaintea regulii de blocare, fie să adăugați regula în poziția corectă într-un fișier de configurare și să reîncărcați toate regulile. (Sau folosiți ceva de genul ufw sau firewalld pentru a face acest lucru pentru dvs.). Puteți obține o listă numerotată de reguli cu iptables --line-numbers -L INPUT și introduceți noua regulă la sau înainte de poziția regulii de blocare.

Dacă presupunerea că aveți o regulă de blocare este greșită, atunci trebuie să vă întoarceți și să verificați dacă ceva are portul deschis. Poți să folosești netstat -nl | grep 2222 sau ss -nlt | grep 2222 iar dacă nu este listat, atunci nu se ascultă nimic pe port.

Din rezultatul pe care l-ați adăugat la întrebarea dvs., tabelul INPUT este practic gol (cu excepția regulii dvs. de acceptare) și -P ACCEPT INTRARE spune acceptați orice nu se potrivește cu regulile din tabelul de intrare.

drapel in
Iată rezultatul meu `sudo iptables -S`: https://pastebin.com/4We0DhaP . Nimic nu mi se pare o regulă de blocare, dar mi-e teamă să spun că chiar nu cunosc iptables prea bine..
drapel in
`sudo iptables --line-numbers -L INPUT` returnează https://pastebin.com/VcVveE8W
user10489 avatar
drapel in
Se pare că nu aveți reguli de blocare la intrare și portul pe care încercați să îl deschideți în firewall este deja deschis. Cred că remediați problema greșită și, în schimb, trebuie să explicați ceea ce încercați să realizați. Probabil că nu ascultă nimic pe port.

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.