Raw表 : Raw表在我们想要配置之前被豁免的包时被使用。它支持PREROUTING 链和OUTPUT 链。
6. 简要谈谈什么是iptables中的目标值(能被指定为目标),他们有什么用答案 : 下面是在iptables中可以指定为目标的值:
ACCEPT : 接受包
QUEUE : 将包传递到用户空间 (应用程序和驱动所在的地方)
DROP : 丢弃包
RETURN : 将控制权交回调用的链并且为当前链中的包停止执行下一调用规则
7. 让我们来谈谈iptables技术方面的东西,我的意思是说实际使用方面你怎么检测在CentOS中安装iptables时需要的iptables的rpm?
答案 : iptables已经被默认安装在CentOS中,我们不需要单独安装它。但可以这样检测rpm:
# rpm -qa iptables
iptables-1.4.21-13.el7.x86_64
如果您需要安装它,您可以用yum来安装。
# yum install iptables-services
8. 怎样检测并且确保iptables服务正在运行?答案 : 您可以在终端中运行下面的命令来检测iptables的状态。
# service status iptables [On CentOS 6/5]
# systemctl status iptables [On CentOS 7]
如果iptables没有在运行,可以使用下面的语句
----------------在CentOS6/5下----------------
# chkconfig --level 35 iptables on
# service iptables start
----------------在CentOS7下----------------
# 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 --flush
11. 请在iptables中添加一条规则,接受所有从一个信任的IP地址(例如,192.168.0.7)过来的包。答案 : 上面的场景可以通过运行下面的命令来完成。
# iptables -A INPUT -s 192.168.0.7 -j ACCEPT
我们还可以在源IP中使用标准的斜线和子网掩码:
# 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端口,那也是ssh的默认端口,我们可以在iptables中添加规则来ACCEPT ssh的tcp包(在22号端口上)。
# iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT
REJECT ssh服务(22号端口)的tcp包。
# iptables -A INPUT -s -p tcp --dport 22 -j REJECT
DENY ssh服务(22号端口)的tcp包。
# iptables -A INPUT -s -p tcp --dport 22 -j DENY
DROP ssh服务(22号端口)的tcp包。
# iptables -A INPUT -s -p tcp --dport 22 -j DROP
13. 让我给你另一个场景,假如有一台电脑的本地IP地址是192.168.0.6。你需要封锁在21、22、23和80号端口上的连接,你会怎么做?