防火墙策略之iptables

来源:互联网 发布:周恩来书法 知乎 编辑:程序博客网 时间:2024/06/05 06:59

############################

#########   iptables   ##########

############################

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

****实验前关掉firewalld并打开iptables


iptables        -t           ##指定表名称

                    -n          ##不作解析
                    -L          ##列出指定表中的策略
                    -A          ##增加策略
                    -p          ##网络协议
                    --dport   ##端口
                    -s          ##数据来源
                    -j           ##动作
                    -N         ##增加链
                    -E         ##修改链名称
                    -X         ##删除链
                    -D         ##删除指定策略
                    -I           ##插入
                    -R         ##修改策略
                    -P         ##修改默认策略
                    ACCEPT      ##允许
                    REJECT      ##拒绝
                    DROP         ##丢弃

iptables  -t filter -nL         ##查看filter表中的策略


iptables  -F                       ##刷掉filter表中的所有策略,当没有用-t指定表名称时默认时filter(如此更改只是一次性的,当重新启动机器时策略会被重新读取)


service iptables save     ##保存当前策略
iptables -A INPUT -i lo -j ACCEPT                               ##允许lo
iptables -A INPUT -p tcp --dport 22 -j ACCEPT            ##允许访问22端口
iptables -A INPUT -s 172.25.254.250 -j ACCEPT        ##允许250主机访问本机所有端口

iptables -A INPUT -j REJECT                                      ##拒绝所有主机的数据来源


iptables -N redhat                  ##增加链redhat


iptables -E redhat westos      ##改变链名称


iptables -X westos                 ##删除westos链

iptables -D INPUT 2               ##删除INPUT链中的第二条策略


iptables -I INPUT  -p tcp --dport 80  -j REJECT        ##插入策略到INPUT中的第一条
iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT     ##修改第一条策略
iptables -P INPUT DROP        ##把INPUT表中的默认策略改为drop

iptables -A INPUT -m state --state RELATED,ESTABLISHED  -j ACCEPT          ##允许状态为RELATED和ESTABLISHED的数据包通过
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT                 ##允许状态为new的数据包通22端口               
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT

iptables -A INPUT -j REJECT                                                                             ##拒绝其他所有包

#####配置路由策略#####

iptables  -F                                                                         ##刷掉策略

sysctl -a | grep forward                                                       ##查看内部网卡IP转发功能是否开启
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf               ##允许双网卡内部通信,即开启IP转发功能
sysctl -p                                                                             ##重新加载策略
iptables -t nat -A PREROUTING  -i eth1 -j DNAT --to-dest 172.25.0.11               ##在nat表的PREROUTING链添加策略将外网转化为内网
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.100   ##在nat表的POSTROUTING链添加策略将内网数据包转发到外网

原创粉丝点击