Linux iptables 방화벽에 대한 13 개의 인터뷰 질문
Tecmint를 자주 방문하는 Nishita Agarwal은 인도 푸네의 개인 소유 호스팅 회사에서 방금 제공 한 취업 면접에 대한 경험 (질문 및 답변)을 우리와 공유했습니다. 그녀는 다양한 주제에 대해 많은 질문을 받았지만 그녀는 iptables의 전문가이며 iptables와 관련된 질문과 대답을 가까운 장래에 인터뷰를 할 다른 사람들에게 공유하고 싶었습니다.
모든 질문과 답변은 Nishita Agarwal의 기억을 바탕으로 다시 작성되었습니다.
\"안녕하세요 친구! "제 이름은 Nishita Agarwal입니다. "저는 기술 학사 학위를 취득했습니다. "저의 전문 분야는 UNIX이고 Variants of UNIX (BSD, Linux)는이 말을 들었을 때부터 매료되었습니다. "1 년 이상의 스토리지 경험이 있습니다. 저는 인도 푸네에있는 호스팅 회사로 끝나는 직업 변경을 찾고있었습니다.”
인터뷰에서 제가 요청한 내용은 다음과 같습니다. 내 기억을 기반으로 iptables와 관련된 질문과 답변 만 문서화했습니다. "이것이 당신의 인터뷰를 깨는 데 도움이되기를 바랍니다.
Firewalld는 RHEL/CentOS 7의 최신 필터링 규칙 구현입니다 (내가 알지 못하는 다른 배포판에서도 구현 될 수 있음). iptables 인터페이스를 대체하고 netfilter에 연결합니다. iptables에서 사용되는 테이블은 무엇입니까? "iptables에서 사용되는 테이블과 그들이 지원하는 체인에 대한 간략한 설명을 제공하십시오. Nat 테이블 : Nat 테이블은 주로 네트워크 주소 변환에 사용됩니다. 가장 된 패킷은 표의 규칙에 따라 IP 주소가 변경됩니다. 스트림의 패킷은 Nat 테이블을 한 번만 통과합니다. 즉, 패킷 제트에서 나온 패킷이 위장되면 스트림의 나머지 패키지는이 테이블을 다시 통과하지 않습니다. 이 테이블에서 필터링하지 않는 것이 좋습니다. NAT Table에서 지원하는 Chain은 PREROUTING Chain, POSTROUTING Chain, OUTPUT Chain입니다. Mangle Table : 이름에서 알 수 있듯이이 테이블은 패킷을 처리하는 데 사용됩니다. "특수 패키지 변경에 사용됩니다. "다른 패킷의 내용과 헤더를 변경하는 데 사용할 수 있습니다. Mangle 테이블은 마스커레이딩에 사용할 수 없습니다. "지원되는 체인은 PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain입니다. 필터 테이블 : 필터 테이블은 iptables에서 사용되는 기본 테이블입니다. 패킷 필터링에 사용됩니다. 정의 된 규칙이 없으면 필터 테이블이 기본 테이블로 사용되며이 테이블을 기준으로 필터링이 수행됩니다. "지원되는 체인은 INPUT Chain, OUTPUT Chain, FORWARD Chain입니다. Raw Table : 이전에 제외 된 패키지를 구성하려는 경우 Raw 테이블이 작동합니다. PREROUTING Chain 및 OUTPUT Chain을 지원합니다. CentOS에 iptables를 설치하는 데 필요한 iptables rpm을 어떻게 확인합니까? 설치해야하는 경우 yum을 사용하여 얻을 수 있습니다. 실행 중이 아니면 아래 명령을 실행할 수 있습니다. 다음과 같이 iptables 모듈이로드되었는지 여부를 확인할 수도 있습니다. 샘플 출력 모든 iptables 규칙을 플러시합니다. 소스에 다음과 같이 표준 슬래시 또는 서브넷 마스크를 포함 할 수 있습니다. ssh 서비스에 대한 tcp 패킷을 수락하려면 (포트 22). ssh 서비스에 대한 tcp 패킷을 거부하려면 (포트 22). ssh 서비스에 대한 tcp 패킷 거부 (포트 22). ssh 서비스에 대한 tcp 패킷을 삭제하려면 (포트 22). 작성된 규칙은 아래 명령을 사용하여 확인할 수 있습니다. Interviewer : 그게 제가 묻고 싶은 전부입니다. "당신은 우리가 놓치고 싶지 않은 소중한 직원입니다. HR에 귀하의 이름을 추천하겠습니다. "질문이 있으시면 저에게 물어보십시오. 후보자로서 저는 대화를 중단하고 싶지 않았으므로 선택 될 경우 처리 할 프로젝트와 회사의 다른 공석에 대해 계속 질문합니다. HR 라운드는 크랙하기 어렵지 않았고 기회를 얻었습니다. 또한 인터뷰를 문서화하는 데 시간을 할애 해주신 Avishek과 Ravi (오랜 친구였던)에게도 감사드립니다. 친구! "그러한 인터뷰를 한 적이 있고 전 세계 수백만 명의 Tecmint 독자들에게 인터뷰 경험을 공유하고 싶으십니까? 그런 다음 [email protected]로 질문과 답변을 보내거나 다음 양식을 사용하여 인터뷰 경험을 제출할 수 있습니다. 감사합니다! "연결 유지. "또한 내가 한 것보다 더 정확하게 질문에 답할 수 있었는지 알려주세요.
# rpm -qa iptables
iptables-1.4.21-13.el7.x86_64
# yum install iptables-services
# service iptables status [On CentOS 6/5]
# systemctl status iptables [On CentOS 7]
---------------- On CentOS 6/5 ----------------
# chkconfig --level 35 iptables on
# service iptables start
---------------- On CentOS 7 ----------------
# systemctl enable iptables
# systemctl start iptables
# lsmod | grep ip_tables
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# iptables --flush OUTPUT
# iptables --flush
# iptables -A INPUT -s 192.168.0.7 -j ACCEPT
# iptables -A INPUT -s 192.168.0.7/24 -j ACCEPT
# iptables -A INPUT -s 192.168.0.7/255.255.255.0 -j ACCEPT
# iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -s -p tcp --dport 22 -j REJECT
# iptables -A INPUT -s -p tcp --dport 22 -j DENY
# iptables -A INPUT -s -p tcp --dport 22 -j DROP
# iptables -A INPUT -s 192.168.0.6 -p tcp -m multiport --dport 21,22,23,80 -j DROP
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
DROP tcp -- 192.168.0.6 anywhere multiport dports ssh,telnet,http,webcache
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination