极速linux-iptables常用基础配置2

iptables是防火墙系统,首先iptables的规则是由上到下读取的,iptables可以做到的东西很多(端口转发,并发控制,ip限制等等)原来图在最下面
iptables常用命令:
iptables -L(查看所有的规则)
iptables -F (清除所有规则)
iptables [-I (在最上方添加规则)- A (在最下面添加规则)] -P(通过为协议的类型tcp,udp,icmp等等)-i (为后面可带指定网卡)
Linux防火墙REJECT与DROP的区别
注意:由于本地进程不会经过FORWARD链,因此回环接口lo只在INPUT和OUTPUT两个链上作用。
实际案例如下
1.比如只允许从ip 10.10.10.1 的10个80端口的 tcp链接 到eth0 这张网卡
iptables -I INPUT -i eth0 -p tcp –dport 80 -s 10.10.10.1 -m connlimit –connlimit-above 10 -j REJECT
2.比如只允许从ip 10.10.10.1 访问80端口 的tcp链接
iptables -I INPUT -s 10.10.10.1 -p TCP –dport 80 -j ACCEPT
3.关闭tcp 80端口的所有·访问
iptables -I INPUT -p tcp –dport 80 -j DROP
4.对于用作防火墙或网关的服务器,一个网口连接到公网,其他网口的包转发到该网口实现内网向公网通信,假设eth0连接内网,eth1连接公网,配置规则如下:
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
5,iptables的端口转发策略(由192.168.102.37 的442 到192.168.102.37的22)
iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 –dport 422 -j DNAT –to 192.168.102.37:22
6.DoS攻击防范
利用扩展模块limit,我们还可以配置iptables规则,实现DoS攻击防范:
iptables -A INPUT -p tcp –dport 80 -m limit –limit 25/minute –limit-burst 100 -j ACCEPT
(–litmit 25/minute 指示每分钟限制最大连接数为25
–litmit-burst 100 指示当总连接数超过100时,启动 litmit/minute 限制)
7.禁止某个IP地址的PING:
iptables –A Filter –p icmp –s 192.168.0.1 –j DROP
8.配置web流量均衡(是否与nginx ,LVS均衡负载一样。。。需测试)以上配置规则用到nth扩展模块,将80端口的流量均衡到三台服务器。
我们可以将一台服务器作为前端服务器,利用iptables进行流量分发,配置方法如下:
iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 3 –packet 0 -j DNAT –to-destination 192.168.1.101:80
iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 3 –packet 0 -j DNAT –to-destination 192.168.1.102:80
iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 3 –packet 0 -j DNAT –to-destination 192.168.1.103:80
9.将丢弃包情况记入日志
使用LOG目标和syslog服务,我们可以记录某协议某端口下的收发包情况。拿记录丢包情况举例,可以通过以下方式实现。
首先自定义一个chain:
iptables -N LOGGING
其次将所有接收包导入LOGGING chain中:
iptables -A INPUT -j LOGGING
然后设置日志前缀、日志级别:
iptables -A LOGGING -m limit –limit 2/min -j LOG –log-prefix “IPTables Packet Dropped: ” –log-level 7
最后将包倒向DROP,将包丢弃:
iptables -A LOGGING -j DROP
另可以配置syslog.conf文件,指定iptables的日志输出。
iptables原理(可忽略)
ipeables详细流程如下

发表评论

电子邮件地址不会被公开。 必填项已用*标注