Securitylinux相关

Iptables-2·配置FORWARD链

2022-12-16  本文已影响0人  技术老男孩

一、环境准备:

拓扑图.png
[root@node1 ~]# nmcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.99.11/24
[root@node1 ~]# nmcli connection down eth1
[root@node1 ~]# nmcli connection up eth1
[root@localhost ~]# hostnamectl set-hostname server1
[root@localhost ~]# nmcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.99.100/24
[root@localhost ~]# nmcli connection down eth1
[root@localhost ~]# nmcli connection up eth1
[root@localhost ~]# echo a | passwd --stdin root
[root@client1 ~]# nmcli connection modify eth0 ipv4.gateway 192.168.88.11
[root@client1 ~]# ifdown eth0; ifup eth0

[root@server1 ~]# nmcli connection modify eth1 ipv4.gateway 192.168.99.11
[root@server1 ~]# ifdown eth1; ifup eth1
[root@node1 ~]# sysctl -a | grep ip_forward
[root@node1 ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf 
[root@node1 ~]# sysctl -p
# client和server已经可以通信
[root@client1 ~]# ping -c2 192.168.99.100
在server1上安装httpd服务
[root@server1 ~]# yum install -y httpd
[root@server1 ~]# systemctl start httpd

# 在客户端访问web服务,可以访问
[root@client1 ~]# curl http://192.168.99.100/

二、配置FORWARD链示例

需求:

在node1上配置防火墙,保护server1默认拒绝所有数据包通过

需求要点:

  1. 从server1所在网段发往client1所在网段的包全部允许
  2. 从client1所在网段到server1所在网段
  3. 允许icmp,允许22、80、443端口通过

实现步骤:

# 设置远程控制点允许通过
[root@node1 ~]# iptables -A INPUT -s 192.168.88.254 -j ACCEPT

# 默认拒绝所有数据包通过
[root@node1 ~]# iptables -P FORWARD DROP
# 源地址是192.168.99.0/24,目标地址是192.168.88.0/24的包,放行
[root@node1 ~]# iptables -A FORWARD -s 192.168.99.0/24 -d 192.168.88.0/24 -j ACCEPT
# 从client1到server1,允许icmp
[root@node1 ~]# iptables -A FORWARD -s 192.168.88.0/24 -d 192.168.99.0/24 -p icmp -j ACCEPT

# client1和server1已经可以ping通了
[root@client1 ~]# ping -c2 192.168.99.100

# 允许从client1访问server1的22、80、443,100-120端口范围
# -m是引入扩展模块,multiport多端口
[root@node1 ~]# iptables -A FORWARD -p tcp -m multiport 
--dport 22,80,443,100:120 -s 192.168.88.0/24 -j ACCEPT
# 现在从client1到server1的ssh、http都可以放行了
[root@client1 ~]# ssh 192.168.99.100
[root@client1 ~]# curl http://192.168.99.100/

三、补充:

# 拒绝192.168.88.10-192.168.88.20
访问192.168.99.50-192.168.99.150
# -m是引入扩展模块
# src-range是源地址范围
# dst-range目标地址范围
[root@node1 ~]# iptables -I FORWARD -m iprange 
--src-range 192.168.88.10-192.168.88.20
--dst-range 192.168.99.50-192.168.99.150 
-j REJECT
上一篇下一篇

猜你喜欢

热点阅读