Linux/Centos iptables 防火墙常用基础使用管理

政林 2020-10-09 773浏览 1条评论
首页/正文
分享到: / / / /

在当下的IT相关技术工作中或多或少都会接触到Linux系统,本文介绍iptables基础使用管理,方便有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置

iptables 安装

yum install iptables iptables-services -y

centos 7下启用iptables

# firewall-cmd --state
running
默认情况下,firewalld 处于运行状态,并拒绝所有传入流量,但有几个例外,如 SSH

systemctl stop firewalld.service
systemctl disable firewalld.service

yum install iptables-services -y
systemctl enable iptables
systemctl start iptables
编辑ipatbles的规则
vim /etc/sysconfig/iptables
重启iptables服务
service iptables restart

iptables 规则清除

对链中规则:

-A     附加一条规则add

-I   n  插入一条     insert

-R  n  修改第几条

-D  n  删除第几条   

对链:

-N   新建一个自定义链

-X   删除一个自定义空链

-E   重命名一条自定义链   

-F   清空指定链,如果不指定,则清空整个表中的所有链

-P   设定链的默认策略

-Z   置零(每条规则都有两个计数器,一个是被本规则匹配到的所有数据包

的个数,另一个,被匹配到的数据包的大小之和)

-L   查看 –v详细  -vv再详细  -vvv 再详细 –line-numbers显示行号

-x 显示计数器的精确值 –n显示数字地址,不是名称地址

 iptables -L -n  可以查看出当前的防火墙规则

iptables -L -n  --line-number  可以查看到每个规则chain  的序列号

iptables -I 和 iptables -A 区别:防火墙由上往下匹配,-A 会将后执行的策略添加到已有策略后,而-I 则会插入到已有策略的前(既成为第一条策略)。

查看状态: /etc/init.d/iptables status
关闭: /etc/rc.d/init.d/iptables stop
启动: /etc/rc.d/init.d/iptables start
重启: /etc/rc.d/init.d/iptables restart

开放指定的端口

允许本地回环接口(即运行本机访问本机)

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

允许所有本机向外的访问

iptables -A OUTPUT -j ACCEPT

允许访问22端口

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

打开22端口,允许远程管理。(设定附加条件:管理机器IP必须是250,并且必须从eth0网卡进入

iptables -A INPUT -i eth0 -s 192.168.1.250 -d 192.168.1.1 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.1.250 -s 192.168.1.1 -p tcp --sport 22 -j ACCEPT

允许访问80端口

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

允许指定IP访问22

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

禁止其他未允许的规则访问

  1. iptables -A INPUT -j REJECT

  2. iptables -A FORWARD -j REJECT

屏蔽IP

屏蔽单个IP的命令是

iptables -I INPUT -s 192.168.1.1 -j DROP

封整个段即从123.0.0.1到123.255.255.254的命令

iptables -I INPUT -s 123.0.0.0/8 -j DROP

封IP段即从123.45.0.1到123.45.255.254的命令

iptables -I INPUT -s 124.45.0.0/16 -j DROP

封IP段即从123.45.6.1到123.45.6.254的命令是

iptables -I INPUT -s 123.45.6.0/24 -j DROP

查看已添加的iptables规则

iptables -L -n

删除已添加的iptables规则
比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8

保存规则

service iptables save

重启服务

service iptables restart

 

iptables 配置文件

vi /etc/sysconfig/iptables

打开主动模式21端口

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

全部开放FTP传输
加载模块:

  1. modprobe ip_nat_ftp

  2. modprobe ip_conntrack

  3. modprobe ip_conntrack_ftp

加上一条规则:

iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

iptables只允许指定ip地址访问指定端口

  1. iptables -A INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT

  2. iptables -A OUTPUT -d 192.168.1.1 -p tcp --sport 22 -j ACCEPT

  3. 拒绝除了192.168.1.1/24的主机访问自己的80端口

     Iptables –A INPUT    -s ! 192.168.1.1/24 –d 192.168.1.100 –p tcp –-dport 80 –j DORP

上面这两条,请注意--dport为目标端口,当数据从外部进入服务器为目标端口;反之,数据从服务器出去则为数据源端口,使用 --sport 同理,-s是指定源地址,-d是指定目标地址。

关闭所有的端口

  1. iptables -P INPUT DROP

  2. iptables -P OUTPUT DROP

  3. iptables -P FORWARD DROP

yum允许下载随机产生的高端口

  1. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

  2. iptables -A INPUT -p udp --sport 53 -j ACCEPT

  3. iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

  4. iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

  5. iptables -A OUTPUT -p tcp --sport 10000:65535 -j ACCEPT

允许Ping

  1. iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

  2. iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

禁Ping

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

拒绝192.168.0.0/16网段的ping自己

iptables –t filter –A INPUT –s 192.168.0.0/16 –p icmp –icmp-type 8 –j DORP

外网访问内网(端口映射)

#iptables -t nat -I PREROUTING -i ens34 -p tcp --dport 10001 -j DNAT --to-destination 21.21.21.108:10000

内网访问外网

#PPPOE--access INTERNET:
#iptables -t nat -I POSTROUTING -s 20.20.20.0/24 -j MASQUERADE
#iptables -t nat -I POSTROUTING -s 20.20.20.0/24 -o ens34 -j SNAT --to-source 180.168.47.42
#iptables -I FORWARD -s 20.20.20.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1440

#DHCP--access INTERNET:
#iptables -t nat -I POSTROUTING -s 21.21.21.0/24 -j MASQUERADE
#iptables -t nat -I POSTROUTING -s 21.21.21.0/24 -o ens34 -j SNAT --to-source 180.168.47.42

web包含admin字符串的页面不允许访问,源端口:dport
iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string 'admin' -j REJECT

允许本机 ping 别的主机;但不开放别的主机 ping 本机;
iptables -I INPUT -p icmp --icmp-type echo-request -j DROP
iptables -I INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -I INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT
或者下面禁ping操作:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

启动服务 
# service iptables start

停止服务
# service iptables stop

重启服务
# service iptables restart

保存设置
# service iptables save

开启路由转发功能

/proc/sys/net/ipv4/ip_forward

1、在B服务器上开启内核路由转发参数

临时生效:

echo "1" > /proc/sys/net/ipv4/ip_forward

永久生效的话,需要修改sysctl.conf:

net.ipv4.ip_forward = 1

执行sysctl -p马上生效

2、B服务器开启iptables net转发

iptables  -t nat  -A POSTROUTING  -s 192.168.10.0/24 -d 192.168.20.0/24 -o eth1 -j  MASQUERADE

# 配置源地址10网段,目标地址20网段的地址转换,从eth1网卡出。

iptables -t nat -A POSTROUTING -s 192.168.20.0/24  -d 192.168.10.0/24 -o eth0 -j MASQUERADE

#配置源地址20网段,目标地址10网段的地址转换,从eth0网卡出。

永久保存:iptables-save > /etc/sysconfig/iptables

注意对应网卡。

3、在A和C服务器上设置路由为B服务器IP

A:  route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1

C: route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.1

查看路由表:route –n     netstat –rn

持久化修改规则可以直接改iptables文件也可以使用iptables命令添加然后使用service iptables save命令保存。由于iptables规则是自上而下匹配,所以添加的所有的规则都必须在以下两个默认规则之前,理想方法是修改/etc/sysconfig/iptables文件,直接添加规则 。

 

 

点击这里给我发
消息
最后修改:2020-10-09 19:47:46 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

评论列表

匿名用户 2022-05-13 00:25:27
[url=https://newfasttadalafil.com/]Cialis[/url] Viagra Kaufen Online Gunstig The acceleration produced by the net force is m W W g g If the pushoff force acts on the jumper over a distance of cm the extent of the crouch and if it is directed entirely in the vertical y direction the vertical component of the velocity v y during the jump is given by v y as g <a href=https://newfasttadalafil.com/>Cialis</a> Cialis Tadalafil Online Apotheke Zmyali discount levitra online Rxyvyx https://newfasttadalafil.com/ - Cialis
回复