iptables防火墙----filter表的学习-FORWARD
• client1:eth0 -> 192.168.4.10/24 网关:192.168.4.11
• proxy:eth0 -> 192.168.4.11/24,eth1 -> 192.168.2.11/24
• web1:eth1 -> 192.168.2.100/24 网关:192.168.2.1
为 192.168.4.10和192.168.2.100配置网关
[root@client1 ~]# nmcli connection modify eth0 ipv4.gateway 192.168.4.11
[root@client1 ~]# ifdown eth0; ifup eth0
[root@web1 ~]# nmcli connection modify eth1 ipv4.gateway 192.168.2.11
[root@web1 ~]# ifdown eth1; ifup eth1
在中间节点node1上打开路由转发功能
[root@proxy ~]# sysctl -a | grep ip_forward
[root@proxy ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
[root@proxy ~]# sysctl -p
client和server已经可以通信
[root@client1 ~]# ping -c2 192.168.2.100
在web1上安装httpd服务
[root@web1 ~]# yum install -y httpd
[root@web1 ~]# systemctl start httpd
在客户端访问web服务,可以访问
[root@client1 ~]# curl http://192.168.2.100/
配置FORWARD链
• 要求:在proxy上配置防火墙,保护web1
- 默认拒绝所有数据包通过
- 从web1所在网段发往client1所在网段的包全部允许
- 从client1所在网段到web1所在网段,允许icmp,允许22、80、443端口通过
默认拒绝所有数据包通过
[root@proxy ~]# iptables -P FORWARD DROP
源地址是192.168.2.0/24,目标地址是192.168.4.0/24的包,放行
[root@proxy ~]# iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.4.0/24 -j ACCEPT
从client到web1,允许icmp
[root@proxy ~]# iptables -A FORWARD -s 192.168.4.0/24 -d 192.168.2.0/24 -p icmp -j ACCEPT
client和web1已经可以ping通了
[root@client ~]# [root@client ~]# ping -c2 192.168.2.100
PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data.
64 bytes from 192.168.2.100: icmp_seq=1 ttl=63 time=0.663 ms
64 bytes from 192.168.2.100: icmp_seq=2 ttl=63 time=0.986 ms
允许从client1访问server1的22、80、443,100-120端口范围
-m是引入扩展模块,multiport多端口
[root@proxy ~]# iptables -A FORWARD -p tcp -m multiport --dport 22,80,443,100:120 -s 192.168.4.0/24 -j ACCEPT
[root@proxy ~]# iptables -nL FORWARD
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 192.168.2.0/24 192.168.4.0/24
ACCEPT icmp -- 192.168.4.0/24 192.168.2.0/24
ACCEPT tcp -- 192.168.4.0/24 0.0.0.0/0 multiport dports 22,80,443,100:120
拒绝192.168.4.10-192.168.4.20访问192.168.2.50-192.168.2.150
-m是引入扩展模块,src-range是源地址范围,dst-range目标地址范围
[root@proxy ~]# iptables -I FORWARD -m iprange --src-range 192.168.4.10-192.168.4.20 --dst-range 192.168.2.50-192.168.2.150 -j REJECT