一、详述iptables五链
iptables是linux的防火墙管理工具,真正实现防火墙功能的是netfilter,netfilter是Linux内核中实现包过滤的内部结构。
iptables具有四表五链的概念。
四表:
filter表:过滤数据包;
nat表:用于网络地址转换(ip,端口);
managle表:修改数据包的服务类型,ttl,并且可以配置路由实现QOS;
RAW表:决定数据包是否被状态跟踪机制处理。
五链:
INPUT链:进来的数据包应用此规则链中的策略;
OUTPUT链:外出的数据包应用此规则链中的策略;
FORWARD链:转发数据包时应用此规则链中的策略;
PREROUTING:对数据包做路由选择前应用此规则链中的策略;
POSTROUTING:对数据包做路由选择后应用此规则链中的策略;
四表五链的图示如下:
二、实现iptables多端口匹配、连接追踪、字符串匹配、时间匹配、并发连接限制、速率匹配、报文状态匹配等应用
[root@node001 ~]# iptables -A FORWARD -p tcp --dport 80 -j ACCEPT #iptables匹配单个端口
[root@node001 ~]# iptables -A INPUT -p tcp -m multiport --source-port 22,80,110,111 #iptables匹配多个不连续的端口
[root@node001 ~]# iptables -A INPUT -p tcp -m multiport --source-port 110:118 #iptables匹配多个连续的端口
[root@node001 ~]# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #iptables连接追踪
[root@node001 ~]# iptables -A OUTPUT -s 10.3.2.93 -d 10.3.0.0/16 -p tcp --sport 80 -m string --algo bm --string "violence" -j REJECT #iptables字符串匹配设置
[root@node001 ~]# iptables -A INPUT -s 10.3.0.0/16 -d 10.3.0.0 -p tcp --dport 80 -m time --timestart 08:30 --weekdays Sat,Sun -j DROP #iptables时间匹配设定
[root@node001 ~]# iptables -I INPUT -d 10.3.2.93 -p icmp --icmp-type 8 -m limit --limit 3/minute --limit-burst 5 -j ACCEPT #iptables速率匹配设定
[root@node001 ~]# iptables -A INPUT -d 10.3.2.93 -p tcp --dport 21 -m connlimit --connlimit-above 2 -j REJECT #iptables并发连接限制设定
[root@node001 ~]# iptables -A INPUT -d 10.3.2.93 -p tcp -m multiport --dports 22,80 -m state NEW,ESTABLISHED -j ACCEPT #iptables报文状态匹配设定
三、实现iptables之SNAT源地址修改及DNAT目标地址修改和PNAT端口修改等应用
[root@node001 ~]# iptables -t nat -A POSTROUTING -j SNAT --to-source 10.3.2.93 #iptables设定SNAT
[root@node001 ~]# iptables -t nat -A PREROUTING -d 10.3.2.93 -p tcp --dport 22 -j DNAT --to-destination 192.168.88.188:22 #iptables设定DNAT
四、 简述sudo安全切换工具,及详细讲解visudoer
sudo:能够让获得授权的用户以另外一个用户的身份运行指定的命令。授权文件可使用命令visudo编辑,实际上编辑的是/etc/sudoers文件的内容。
编辑visudo,添加如下命令:
以上设定允许zhangge用户使用root管理员的所有命令。
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99208