Nishita Agarwal, een frequente Tecmint-bezoeker deelde haar ervaring (Vraag en Antwoord) met ons over het sollicitatiegesprek dat ze zojuist had gegeven in een particulier hostingbedrijf in Pune, India. Ze kreeg veel vragen over verschillende onderwerpen, maar ze is een expert in iptables en ze wilde die vragen en hun antwoord (ze gaf) met betrekking tot iptables delen met anderen die in de nabije toekomst misschien een interview gaan geven.
Alle vragen en hun antwoord zijn herschreven op basis van de herinnering aan Nishita Agarwal.
"Hallo vrienden! Mijn naam is Nishita Agarwal. Ik heb een bachelordiploma in technologie gevolgd. Mijn specialisatiegebied is UNIX en Varianten van UNIX (BSD, Linux) fascineren me sinds ik het hoorde. Ik heb 1+ jaar ervaring in opslag. Ik was op zoek naar een baanverandering die eindigde bij een hostingbedrijf in Pune, India.”
Hier is de verzameling van wat mij werd gevraagd tijdens het interview. Ik heb alleen die vragen en hun antwoord gedocumenteerd die gerelateerd waren aan iptables op basis van mijn geheugen. Ik hoop dat dit je zal helpen bij het kraken van je interview.
Antwoord :Ik gebruik iptables al heel lang en ik ben me bewust van zowel iptables als firewall. Iptables is een applicatieprogramma dat grotendeels is geschreven in C-programmeertaal en is vrijgegeven onder de GNU General Public License. Geschreven vanuit het oogpunt van systeembeheer, de nieuwste stabiele release als iptables 1.4.21.iptables kan worden beschouwd als een firewall voor een UNIX-achtig besturingssysteem dat kan worden aangeroepen als iptables/netfilter, nauwkeuriger. De beheerder communiceert met iptables via console/GUI front-end tools om firewallregels toe te voegen en te definiëren in vooraf gedefinieerde tabellen. Netfilter is een module die in de kernel is gebouwd en die filtert.
Firewalld is de nieuwste implementatie van filterregels in RHEL/CentOS 7 (kan worden geïmplementeerd in andere distributies waarvan ik misschien niet op de hoogte ben). Het heeft de iptables-interface vervangen en maakt verbinding met netfilter.
Antwoord :Hoewel ik beide op GUI gebaseerde front-end-tools heb gebruikt voor iptables zoals Kustmuur in vervoeging van Webmin in GUI en directe toegang tot iptables via console.En ik moet toegeven dat directe toegang tot iptables via de Linux-console een gebruiker enorme kracht geeft in de vorm van: hogere mate van flexibiliteit en beter begrip van wat er op de achtergrond gebeurt, zo niet alles ander. GUI is voor beginnende beheerder, terwijl console voor ervaren is.
Antwoord :iptables en firewalld hebben hetzelfde doel (Pakketfiltering) maar met een andere aanpak. iptables spoelt de volledige regels die zijn ingesteld elke keer dat er een wijziging wordt aangebracht, in tegenstelling tot firewalld. Meestal ligt de locatie van de iptables-configuratie op '/etc/sysconfig/iptables' terwijl firewalld-configuratie ligt op '/etc/firewalld/', wat een set XML-bestanden is.Het configureren van een op XML gebaseerde firewalld is eenvoudiger in vergelijking met het configureren van iptables, maar dezelfde taak kan worden bereikt met zowel de pakketfiltertoepassing, dwz iptables als firewalld. Firewalld voert iptables onder de motorkap uit, samen met zijn eigen opdrachtregelinterface en configuratiebestand dat op XML is gebaseerd en hierboven vermeld.
Antwoord :Ik ben bekend met iptables en het werkt en als er niets is dat een dynamisch aspect van firewalld vereist, lijkt er geen reden om al mijn configuratie van iptables naar firewalld te migreren.In de meeste gevallen heb ik tot nu toe nog nooit gezien dat iptables een probleem veroorzaakte. Ook de algemene regel van informatietechnologie zegt: "waarom repareren als het niet kapot is". Dit is echter mijn persoonlijke gedachte en ik zou het nooit erg vinden om firewalld te implementeren als de organisatie iptables gaat vervangen door firewalld.
Welke tabellen worden in iptables gebruikt? Geef een korte beschrijving van de tabellen die in iptables worden gebruikt en de ketens die ze ondersteunen.
Antwoord :Bedankt voor de herkenning. Verhuizen naar het vraaggedeelte. Er worden vier tabellen gebruikt in iptables, namelijk:
Nat Tafel: Nat-tabel wordt voornamelijk gebruikt voor netwerkadresvertaling. Gemaskerde pakketten krijgen hun IP-adres gewijzigd volgens de regels in de tabel. Pakketten in de stroom doorkruisen de Nat-tabel slechts één keer. dat wil zeggen, als een pakket van een straal pakketten wordt gemaskeerd, zullen de overige pakketten in de stroom niet opnieuw door deze tabel gaan. Het wordt aanbevolen om niet te filteren in deze tabel. Chains die worden ondersteund door NAT Table zijn PREROUTING Chain, POSTROUTING Chain en OUTPUT Chain.
Mangeltafel: Zoals de naam al doet vermoeden, dient deze tabel voor het mangelen van de pakketten. Het wordt gebruikt voor speciale pakketwijzigingen. Het kan worden gebruikt om de inhoud van verschillende pakketten en hun headers te wijzigen. Mangeltafel kan niet worden gebruikt voor Masquerading. Ondersteunde ketens zijn PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.
Filtertabel: Filtertabel is de standaardtabel die in iptables wordt gebruikt. Het wordt gebruikt voor het filteren van pakketten. Als er geen regels zijn gedefinieerd, wordt Filtertabel als standaardtabel genomen en wordt er gefilterd op basis van deze tabel. Ondersteunde ketens zijn INPUT Chain, OUTPUT Chain, FORWARD Chain.
Ruwe tafel: Raw-tabel komt in actie wanneer we pakketten willen configureren die eerder waren vrijgesteld. Het ondersteunt PREROUTING Chain en OUTPUT Chain.
Antwoord :Hieronder volgen de doelwaarden die we in doel in iptables kunnen specificeren:
Hoe controleer je iptables rpm die nodig is om iptables in CentOS te installeren?.
Antwoord :iptables rpm is inbegrepen in de standaard CentOS-installatie en we hoeven het niet apart te installeren. We kunnen het toerental controleren als:
# rpm -qa iptables iptables-1.4.21-13.el7.x86_64.
Als je het moet installeren, kun je het goed doen om het te krijgen.
# yum installeer iptables-services.
Antwoord :Om de status van iptables te controleren, kunt u de volgende opdracht op de terminal uitvoeren.
# service iptables-status [Aan CentOS 6/5] # systemctl status iptables [AanCentOS 7]
Als het niet actief is, kan het onderstaande commando worden uitgevoerd.
Op CentOS 6/5 # chkconfig --level 35 iptables aan. # service iptables starten Op CentOS 7 # systemctl iptables inschakelen # systemctl start iptables
We kunnen ook controleren of de iptables-module is geladen of niet, zoals:
# lsmod | grep ip_tables.
Antwoord :De huidige regels in iptables kunnen zo eenvoudig worden herzien als:
# iptables -L.
Voorbeelduitvoer
Chain INPUT (beleid ACCEPT) doel prot opt source bestemming ACCEPTEER alles -- overal en overal staat GERELATEERD, GEVESTIGD. ACCEPTEREN icmp -- overal en overal ACCEPTEREN alles -- overal en overal ACCEPTEREN tcp -- overal en overal staat NIEUW tcp dpt: ssh. ALLES AFWIJZEN -- overal en overal weigeren-met icmp-host-verboden Chain FORWARD (beleid ACCEPT) target prot opt source destination REJECT all -- overal en overal weigeren-met icmp-host-prohibited Chain OUTPUT (beleid ACCEPT) doel prot opt source bestemming.
Antwoord :Om een bepaalde iptables-keten door te spoelen, kunt u de volgende opdrachten gebruiken.
# iptables --flush UITGANG.
Om alle iptables-regels door te spoelen.
# iptables --flush.
Antwoord :Het bovenstaande scenario kan eenvoudig worden bereikt door de onderstaande opdracht uit te voeren.
# iptables -A INPUT -s 192.168.0.7 -j ACCEPTEREN
We kunnen standaard slash of subnetmasker in de bron opnemen als:
# iptables -A INGANG -s 192.168.0.7/24 -j ACCEPTEREN # iptables -A INGANG -s 192.168.0.7/255.255.255.0 -j ACCEPTEREN.
Antwoord :In de hoop dat ssh draait op poort 22, wat ook de standaardpoort voor ssh is, kunnen we een regel aan iptables toevoegen als:
Tot AANVAARDEN tcp-pakketten voor ssh-service (poort 22).
# iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT
Tot AFWIJZEN tcp-pakketten voor ssh-service (poort 22).
# iptables -A INPUT -s -p tcp --dport 22 -j REJECT.
Tot ONTKENNEN tcp-pakketten voor ssh-service (poort 22).
# iptables -A INPUT -s -p tcp --dport 22 -j DENY.
Tot AFZETTEN tcp-pakketten voor ssh-service (poort 22).
# iptables -A INPUT -s -p tcp --dport 22 -j DROP.
Antwoord :Nou, alles wat ik hoef te gebruiken is de 'meerdere poorten' optie met iptables gevolgd door te blokkeren poortnummers en het bovenstaande scenario kan in één keer worden bereikt als.
# iptables -A INPUT -s 192.168.0.6 -p tcp -m multiport --dport 21,22,23,80 -j DROP.
De geschreven regels kunnen worden gecontroleerd met behulp van de onderstaande opdracht.
# iptables -L Chain INPUT (beleid ACCEPT) doel prot opt source bestemming ACCEPTEER alles -- overal en overal staat GERELATEERD, GEVESTIGD. ACCEPTEREN icmp -- overal en overal ACCEPTEREN alles -- overal en overal ACCEPTEREN tcp -- overal en overal staat NIEUW tcp dpt: ssh. ALLES AFWIJZEN -- overal en overal weigeren-met icmp-host-prohibited. DROP tcp -- 192.168.0.6 overal multiport dports ssh, telnet, http, webcache Chain FORWARD (beleid ACCEPTEREN) target prot opt source destination REJECT all -- overal en overal weigeren-met icmp-host-prohibited Chain OUTPUT (beleid ACCEPT) doel prot opt source bestemming.
Interviewer: Dat is alles wat ik wilde vragen. Je bent een waardevolle medewerker die we niet graag willen missen. Ik zal je naam aanbevelen aan de HR. Als je een vraag hebt, mag je die aan mij stellen.
Als kandidaat wilde ik het gesprek niet verpesten, dus blijf vragen naar de projecten die ik zou uitvoeren als ik zou worden geselecteerd en wat de andere vacatures in het bedrijf zijn. Om nog maar te zwijgen van de HR-ronde was niet moeilijk te kraken en ik kreeg de kans.
Ook wil ik bedanken Avishek en Ravi (met wie ik al lang een vriend ben) voor het nemen van de tijd om mijn interview te documenteren.
Vrienden! Als u een dergelijk interview had gegeven en u wilt uw interviewervaring delen met miljoenen Tecmint-lezers over de hele wereld? stuur dan uw vragen en antwoorden naar [e-mail beveiligd] of u kunt uw interviewervaring indienen via het volgende formulier.
Bedankt! Blijf verbonden. Laat me ook weten of ik een vraag juister had kunnen beantwoorden dan wat ik deed.