Iptables

本文详细介绍了如何在Centos7系统中安装、配置和管理iptables防火墙,包括规则设置、数据包控制类型、链的操作,以及如何进行内外网配置、DNS解析、FTP服务控制和SNAT/DNAT转换等。通过实例操作,展示了iptables在网络安全和访问控制中的应用。

虚拟机配置                   Centos07

安装iptables防火墙

yum -y install iptables iptables-services

启动iptables防火墙服务 

systemctl start iptables

systemctl enable iptables

iptables语法和数据包控制类型

i) iptables语法

iiptables. [-t表名字]选项[链名字] [条件] [-j 控制类型]

2) iptable控制类型

ACCEPT:允许

DROP:拒绝,不给用户提示

REJECT:拒绝通过,给用户提示信息

LOG:记录日志

iptables防火墙规则常见的选项

i)末尾添加防火墙规则

-A

  1. 删除指定链中的规则

-D

  1. 插入规则到首部

-I

  1. 修改或者替换链中的规则

-R

5)列出所有链中的规则.

-L

6)清空所有链中的规则,不指定链名清空所有表规则

-F

  1. 设置特定链的默认策略

-P

8)数字显示协议端口号信息

-n

9)显示规则列的详细信息

-v

10)显示链中规则的序号

--line-numbers

查看nat表中的所有规则

iptables -t nat -L

清空nat表中的所有规则

iptables -t nat -F

配置内外网

cp /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34

vim /etc/sysconfig/network-scripts/ifcfg-ens34

systemctl restart network

配置路油功能

net.ipv4.ip_forward = 1

客户端配置

清空filter中的默认规则

保存iptables规则

iptables -t filter -F

service iptables save

禁止客户端ping通iptables防火墙

iptables -t filter -I INPUT -p icmp -j REJECT

iptables -t filter -L

删除ping防火墙规则

iptables -t filter -D INPUT -p icmp -j REJECT

iptables -t filter -L

 

 

显示防火墙input链的规则编号

iptables -L INPUT --line-numbers

input链插入规则根据编号进行排列

iptables -I INPUT 1 -p TCP -j ACCEPT

iptables -I INPUT 2 -p TCP -j ACCEPT

iptables -L INPUT --line-numbers

以数字形式显示input链中的所有规则

iptables -n -L INPUT

删除input链的第一条规则

 iptables -D INPUT 1

 iptables -L INPUT --line-numbers

清空所有表中的规则

iptables -F

iptables -L

service iptables save

设置防火墙默认链的规则

设置forward链默认拒绝所有通信

iptables -t filter -P FORWARD DROP

iptables -t filter -L

设置默认input允许入站

iptables -P INPUT ACCEPT

允许转发源192.168.100.0/24网络

iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT

iptables -I FORWARD -p icmp -s 192.168.200.0/24 -j ACCEPT

拒绝源主机192.168.100.20通过ens32接口进入防火墙

 iptables -I INPUT -i ens32 -s 192.168.100.41 -j DROP

配置允许dns访问

iptables -t filter -I FORWARD -p udp -j ACCEPT

iptables -A FORWARD -s 192.168.100.0/24 -p udp --dport 53 -j ACCEPT

iptables -t filter -L

service iptables save

配置dns

options {

listen-on port 53 { any; };

directory "/var/named";

};

zone "bdqn.com."   IN   {

type master ;

file "bdqn.com.zone";

};

$TTL 86400

@ SOA bdqn.com. root.bdqn.com. (

2020081210

1H

15M

1W

1D

)

@ NS centos08.bdqn.com.

centos08 A 192.168.200.80

www A 192.168.200.80

配置外网ip

TYPE=Ethernet

BOOTPROTO=static

NAME=ens34

DEVICE=ens34

ONBOOT=yes

IPADDR=192.168.200.80

NETMASK=255.255.255.0

GATEWAY=192.168.200.70

DNS1=192.168.200.80

访问测试

使用防火墙控制ftp数据传输

ftp的传输的端口类型

20:传输数据端口使用 21:进行身份验证使用

在外网机器上安装ftp

yum -y install vsftpd

创建测试数据

dd if=/dev/zero of=/var/ftp/pub/1.iso bs=10M count=10

修改配置文件  配置vsftpd被动模式

vim /etc/vsftpd/vsftpd.conf

pasv_enable=yes

pasv_min_port=24500

pasv_max_port=24600

设置拒绝外部访问

iptables -t filter -P FORWARD DROP

设置允许tcp协议访问

iptables -I FORWARD -p TCP -j ACCEPT

客户端访问测试    ftp://192.168.200.80/

允许指定tcp端口访问

iptables -I FORWARD -p tcp --dport 20:21 -j ACCEPT

允许被动模式访问

iptables -A FORWARD -p tcp --dport 24500:24600 -j ACCEPT

icmp协议状态代码类型

icmp状态协议代码类型

8: icmp请求包

0:icmp回应

3:目标主机不可达

2)允许防火墙转发来自192.168.100.0/24  192.168.200.0/24网络的icmp请求包

iptables -I FORWARD -s 192.168.100.0/24 -p icmp --icmp-type 8 -j ACCEPT

iptables -I FORWARD -s 192.168.100.0/24 -p icmp --icmp-type 0 -j ACCEPT

iptables -I FORWARD -s 192.168.100.0/24 -p icmp --icmp-type 3 -j ACCEPT

iptables -I FORWARD -s 192.168.200.0/24 -p icmp --icmp-type 8 -j ACCEPT

iptables -I FORWARD -s 192.168.200.0/24 -p icmp --icmp-type 0 -j ACCEPT

iptables -I FORWARD -s 192.168.200.0/24 -p icmp --icmp-type 3 -j ACCEPT

匹配多个端口

匹配22支持ssh远程管理,支持23的telnet远程管理,支持80的网站服务,2支持邮件,110支 持邮件客户端

iptables -I FORWARD -p tcp -m multiport --dport 80,25,22,23,110 -j ACCEPT

安装httpd服务

客户端访问测试

http://192.168.200.80/

限制IP地址范围通信

iptables -I FORWARD -p tcp -m iprange --src-range 192.168.100.70-192.168.100.80 -j DROP

查看客户端MAC地址

get mac

限制源MAC地址通信

iptables -I FORWARD -m mac --mac-source 00:0C:29:CA:BA:8C -j DROP

允许客户端发送TCP连接状态请求

iptables -I FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

ptables防火墙配立SNAT相DNAT

SNAT的作用

修改源IP地址信息

SNAT原理

将源IP地址进行修改转发到Internet上

共享内部网络访问广域网

隐藏内部网络

安全性强

节约公网IP地p止资源

配置将192.168.100.0/24网络映射到192.168.200.80IP地址上

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens34 -j SNAT --to-source 192.168.200.80

查看nat规则

iptables -t nat -L

清空net规则

iptables -t nat -F

iptables防火墙配置DNAT

DNAT的作用

发布内部服务器IP地址和端口到外部IP地址和端口.上

DNAT特点

目标端口转换

配置目标端口转换

iptables -t nat -I PREROUTING -i ens34 -d 192.168.200.70 -p tcp --dport 80 -j

 DNAT --to-destination 192.168.100.60:80

使用客户端访问

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值