iptables 用法及常用模块总结(2)

# 每个ip的并发连接请求最大50,超过则丢弃,建议调大值,容易误伤nat上网用户
iptables -A INPUT -p tcp --syn --dport 80 -m state --state NEW -m connlimit ! --connlimit-above 50 -j DROP

3. 对icmp进行流控,防止icmp攻击

# 清空默认规则
iptables -F
iptables -X

# 添加已建立的连接规则
iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

# 设置默认规则
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# 利用limit模块限制icmp速率,阀值为10个,当到达10个后,限速每秒钟1个
iptables -A INPUT -p icmp --icmp-type 0 -m limit --limit 1/s --limit-burst 10 -j ACCEPT

第四部分:NAT 常用规则

站在服务器的角度:

  当内网服务器要访问外网时,需要做源地址转换;

# 打开转发功能
sysctl -w net.ipv4.ip_forward=1

# 把 192.168.1.0 网段流出的数据的 source ip address 修改成为 10.0.0.11:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 10.0.0.11

  当外网主机要访问内网服务器服务时,需要做目标地址转换;

# 打开转发功能
sysctl -w net.ipv4.ip_forward=1

# 把访问 10.0.0.11:2222 的访问转发到 192.168.1.11:22 上::
iptables -t nat -A PREROUTING -d 10.0.0.11 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.11:22

  单纯的将访问本机80端口的请求转发到8080上

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

补充:

iptables 独立日志配置:

  当在iptables中启用日志记录时,会被当做系统日志记录到/var/log/message里面,如果想要独立日志配置如下:

grep -r 'iptables' /etc/rsyslog.conf
kern.*                            /var/log/iptables.log

systemctl restart rsyslog

在 /etc/rsyslog.conf 中添加一条规则,并重启服务。

更多iptables相关教程见以下内容

CentOS 7.0关闭默认防火墙启用iptables防火墙 

Iptables工作原理使用详解

Ubuntu 14.04 配置iptables防火墙

Linux下编译安装iptables 

iptables的备份、恢复及防火墙脚本的基本使用

Iptables工作原理使用详解 

CentOS7下iptables配置过程

Linux下iptables防火墙设置

Linux防火墙iptables详解 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13382.html