Linu火墙之iptables

IPTABLE 介绍

(1)IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息 包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。 

(2)IPTABLES 中定义有表,分别表示提供的功能,有filter表(实现包过滤)、nat表(实现网络地址转换)、mangle表(实现包修改)、raw表(实现数据跟踪),这些表具有一定的优先级:raw–>mangle–>nat–>filter


IPTABLE 启动与基本设置

systemctl stop firewalld

systemctl mask firewalld

systemctl restart iptables

iptables -nL                                      n:不做解析,L:list

iptables -F                                       清除策略,默认为filter

 > /etc/sysconfig/iptables                        清除策略,默认为filter 

service iptables save                             保存策略到配置文件/etc/sysconfig/iptables 

iptables -A INPUT -j ACCEPT                       添加策略 

service iptables save                              


IPTABLE 基本命令与配置命令

防火墙策略的读取是按从上往下的先后顺序读取的,只要有满足的便会不再匹配,都没有时便会按默认的规则处理 

-A:add    添加

-s:source  来源IP 

dport:端口 

-j:动作 (ACCEPT,REJECT,DROP)

-I:insert  插入

-p(小写):protocol,协议 

-D:delete

iptables -t filter -nL                                                 ###不加-t默认filter

iptables -A INPUT -j REJECE                                            ###拒绝所有 

iptables -t filter -A INPUT -s 172.25.254.100 -j ACCEPT|DROP|REJECT     

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

iptables -I INPUT 3 -s 172.25.254.225 -p tcp --dport 22 -j ACCEPT      ###在第3行插入,p:协议,dport:端口 

iptables -D INPUT 4                                                    ###删除第4个 

iptables -R INPUT 1 -s 172.25.254.225 -p tcp --dport 22 -j ACCEPT      ###更改已有的规则 

iptables -t nat -R POSTROUTING  1  -o eth0 -j SNAT --to-source 172.25.254.125 

iptables -P INPUT DROP                                                 ###改变默认的权限P(大写)(只能ACCEPT和DROP) 

iptables -t filter -N redhat                                           ###添加自定义链名 

iptables -t filter -E redhat dream                                     ###改变链名 

iptables -t filter -X dream                                            ###删除自定义链 

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT       ###添加连接过的,正在连接到防火墙策略 

iptables -A INPUT -m state --state NEW -i lo -j ACCEPT                 ###添加新的回旋接口 

iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT     ###只要连接端口为53都可以连接 

iptables -A INPUT  ! -s 172.25.254.100 -j REJECT                        ###只有172.25.254.100可以连接


 IPTABLE 地址伪装

客户端可以ping通 254网段的主机

其他254网段的主机连接 192.25.254.100时候,会连接到192.25.0.200中

客户端:172.25.0.200
网关:172.25.0.100
服务端:双网卡
IP:172.25.254.100
172.25.0.100


iptables -F #刷新策略

service iptables save #保存修改后的策略

伪装设置

 iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.100  ###路由后,通过172.25.254.100 从eth0出去

 sysctl -a |grep ip_forward  #查看内核路由是否开启

 net.ipv4.ip_forward = 0    #为0表示没有开启

 vim /etc/sysctl.conf

 net.ipv4.ip_forward = 1    #开启内核路由

 sysctl -p                                                                  ###刷新

iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 172.25.0.200     把eth0过来的转移到172.25.0.200

猜你喜欢

转载自blog.csdn.net/u010489158/article/details/80667989