bingoogolapple.github.io icon indicating copy to clipboard operation
bingoogolapple.github.io copied to clipboard

iptables

Open bingoogolapple opened this issue 7 years ago • 9 comments

  • 四张表:filter、nat、mangle、raw
  • 五条链:INPUT OUTPUT FORWARD PREROUTING POSTROUTING

image image image

bingoogolapple avatar Jul 27 '17 00:07 bingoogolapple

列出之前设置的规则

iptables -nL

清除之前设置的规则

iptables -F

允许 22 端口的访问「一定要设置该端口允许被访问,否则设置 iptables 后外部机器没法连接到这台服务器(如果这台服务器 sshd 端口是 22 的话)」

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

允许 80 端口的访问

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

允许一段端口 10 - 21 被访问

iptables -I INPUT -p tcp --dport 10:21 -j ACCEPT

允许所有 icmp 协议被访问

iptables -I INPUT -p icmp -j ACCEPT

在 iptables 的最后添加一条规则,拒绝所有「-I 是在最前面添加规则,-A 是在最后面添加规则」

iptables -A INPUT -j REJECT

删除 80 端口的访问规则

iptables -D INPUT -p tcp --dport 80 -j ACCEPT

拒绝 80 端口被访问

iptables -I INPUT -p tcp --dport 80 -j REJECT

允许所有通过 lo 设备过来的数据包,否则本机无法访问本机

iptables -I INPUT -i lo -j ACCEPT

允许本机访问其他主机

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

只允许 10.103.188.233 访问本机 httpd 服务

iptables -D INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -s 10.103.188.233 --dport 80 -j ACCEPT

bingoogolapple avatar Jul 27 '17 00:07 bingoogolapple

端口扫描

nmap -sS -p 0-1000 10.10.163.233

bingoogolapple avatar Jul 27 '17 00:07 bingoogolapple

image image image

bingoogolapple avatar Jul 29 '17 14:07 bingoogolapple

iptables -F

iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -s 10.10.155.0/24 -j ACCEPT
iptables -A INPUT -s 10.10.188.0/24 -j ACCEPT
iptables -A INPUT -s 10.10.140.0/24 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -I INPUT -p icmp -j ACCEPT

iptables -A INPUT -j REJECT

bingoogolapple avatar Jul 29 '17 14:07 bingoogolapple

保存 iptables 配置到文件「/etc/sysconfig/iptables」中

/etc/init.d/iptables save
chkconfig iptables on

bingoogolapple avatar Jul 29 '17 14:07 bingoogolapple

image

iptables -t nat -A POSTROUTING -s 10.10.177.0/24 -j SNAT --to 10.10.188.232

bingoogolapple avatar Jul 29 '17 15:07 bingoogolapple

image

iptables -t nat -A PREROUTING -d 10.10.188.232 -p tcp --dport 80 -j DNAT --to 10.10.177.233:80

bingoogolapple avatar Jul 29 '17 15:07 bingoogolapple

限制每一个客户端 ip 的并发连接数

iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT

10 个以内放行,超过 10 的话就每一分钟只允许 1 个

iptables -A INPUT -p icmp -m limit --limit 1/m --limit-burst 10 -j ACCEPT
iptables -A INPUT -p icmp -j REJECT

bingoogolapple avatar Jul 29 '17 15:07 bingoogolapple

image image image image image image

bingoogolapple avatar Jul 29 '17 15:07 bingoogolapple