西田阿加瓦尔 ,经常youcl参观者与我们分享了有关面试她刚刚在印度 浦那一家私人拥有的托管公司给予她的经验(答问)。 她被问过很多关于各种主题的问题,但她是在iptables的专家,她想分享这些问题和他们的答案(她给)与iptables来其他人谁可能去给面试不久的将来。
所有的问题和他们的答案是根据西田阿加瓦尔的记忆重写。
“你好朋友! 我的名字是西田阿加瓦尔 。 我有追求学士学位的技术。 我的专业领域是UNIX和UNIX的变种(BSD,Linux)从我听到它的时候着迷我。 我有1年多的存储经验。 我正在寻找一个工作变化,结束与在印度浦那的一家托管公司。
这里是我在采访中被问到的集合。 我只记录那些问题和他们的答案,基于我的记忆与iptables有关。 希望这将有助于你打破你的面试。
你听说过Linux中的iptables和防火墙吗? 任何想法,他们是什么和它的用途?
Firewalld是最新实施的RHEL / CentOS 7过滤规则(可在我可能不知道其他分布来实现)。 它已经替换了iptables接口并连接到netfilter。
2.您是否为iptables或Linux命令行使用了一些基于GUI的前端工具?
3. iptables和firewalld之间的基本区别是什么?
你会替换iptables的firewalld在所有的服务器,如果给一个机会?
你似乎对iptables有信心,加分也是我们在我们的服务器上使用iptables。
iptables中使用的表是什么? 给出iptables中使用的表及其支持的链的简要描述。
- Nat表
- Mangle表
- 过滤表
- 原料表
NAT表 :NAT表主要用于网络地址转换。 伪装的数据包根据表中的规则更改其IP地址。 流中的分组仅遍历Nat表一次。 即,如果来自Packets的一个包的包是伪装的,则流中的其余包将不再遍历该表。 建议不要在此表中过滤。 NAT支持的链表是PREROUTING链,POSTROUTING链和OUTPUT链。
裂伤表 :顾名思义,这个表服务于重整的包。 它用于特殊包装更改。 它可以用于更改不同数据包及其头文件的内容。 魔术表不能用于伪装。 支持链是PREROUTING链,OUTPUT链,正向链,INPUT链,POSTROUTING链。
筛选表 :filter表iptables中使用的默认表。 用于过滤报文。 如果未定义任何规则,则将Filter Table视为默认表,并根据此表进行过滤。 支持链是INPUT链,OUTPUT链,FORWARD链。
原始表 :原始表进入操作时,我们要配置,较早免除包。 它支持PREROUTING链和OUTPUT链。
6. iptables中的目标值(可以在目标中指定)是什么,它们做什么,简短!
- 接受 :接受包
- 队列 :PAAS包到用户空间(地方应用和驱动程序驻留)
- DROP:丢弃数据包
- RETURN:返回控制调用链和停止执行下一组规则链当前的数据包。
7.让我们转向iptables的技术方面,通过技术我意味着实用。
如何检查在CentOS中安装iptables所需的iptables rpm。
# rpm -qa iptables iptables-1.4.21-13.el7.x86_64
如果你需要安装它,你可以做yum得到它。
# yum install iptables-services
8.如何检查和确保iptables服务是否正在运行?
# service status iptables [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
我们还可以检查iptables模块是否加载,如:
# lsmod | grep ip_tables
9.如何查看iptables中定义的当前规则?
# 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
10.如何刷新所有iptables规则或特定的链?
# iptables --flush OUTPUT
清除所有iptables规则。
# iptables --flush
11.在iptables中添加规则以接受来自可信IP地址(例如192.168.0.7)的数据包,
# 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
12.如何在iptables中向ACCEPT,REJECT,DENY和DROP ssh服务添加规则。
接受 SSH服务(22端口)的TCP数据包。
# iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT
以拒绝对SSH服务(22端口)的TCP数据包。
# iptables -A INPUT -s -p tcp --dport 22 -j REJECT
拒绝为SSH服务(22端口)的TCP数据包。
# iptables -A INPUT -s -p tcp --dport 22 -j DENY
放弃对SSH服务(22端口)的TCP数据包。
# iptables -A INPUT -s -p tcp --dport 22 -j DROP
让我给你一个场景。 说有一台机器的本地IP地址是192.168.0.6。 您需要阻止端口21,22,23和80上的连接到您的计算机。 你会怎么做?
# 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
记者 :这就是我要问。 你是一个有价值的员工,我们不会错过。 我会推荐你的名字给人力资源部。 如果你有任何问题,你可以问我。
作为候选人,我不想杀死对话,因此不断询问我将处理的项目,如果选择和什么是公司的其他开放。 更不要说HR轮不难破解,我有机会。
此外,我要感谢Avishek和拉维 (其中我一个朋友长期以来)进行拍摄记录我的采访时间。
朋友们!如果你已给予这样的采访,你想分享你的面试经验,以全球数百万youcl读者? 然后把你的问题和答案,admin@youcl.com或者您可以使用以下格式提交您的面试经历。
谢谢! 保持连接。 还让我知道,如果我能回答一个问题比我做的更正确。