iptables filter表案例和iptables nat表应用
一、iptables filter表案例
需求:需要把80端口,22端口,21端口放行,但是22端口需要指定一个IP段,只有这个IP段的IP才可以访问到,其他段的一概拒绝
vim /usr/local/sbin/iptables.sh
加入如下内容:
#! /bin/bash
ipt=”/usr/sbin/iptables”
-m state –state 后加这两个状态可让通信更顺畅 RELATED , ESTABLISHED
icmp示例:
可以实现ping通外部机器,但是ping不通本机(你能ping通别人的机器,别人ping不通你的机器)
iptables -I INPUT -p icmp –icmp-type 8 -j DROP
删除规则后可以正常相互ping通:
iptables -I INPUT -p icmp –icmp-type 8 -j DROP
二、iptables nat表应用
场景:
A机器两块网卡eno16777736(172.16.17.70)、eno33554984(172.16.17.100),eno16777736 可以上外网,eno33554984仅仅是内部网络,B机器只有eno33554984(172.16.17.101),和A机器eno33554984可以通信互联。
ifconfig eno33554984 172.xx.xx.xx.x/xx (可直接设置临时的网卡IP,重启后失效)
(1)amolinux-1为A机器,添加第二块网卡,然后重新启动:
(2)amolinux-2 为B机器,添加另一块与A二网卡同一个段的网卡,然后重新启动:
需求1:可以让B机器连接外网
A机器上打开路由转发:
echo “1”>/proc/sys/net/ipv4/ip_forward
A上执行:
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eno16777736 -j MASQUERADE
需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口
A上打开路由转发:
A上执行:
iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp –dport 1122 -j DNAT –to 192.168.100.100:22
A上执行:
iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT –to 192.168.133.130
B上设置网关为:192.168.100.1
扩展
1、 iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html
2、sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html
3、iptables限制syn速率 http://www.aminglinux.com/bbs/thread-985-1-1.html