基于Linux的iptables的配置

一、iptables概述

       iptables是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。类似于firewalld。

、iptables的使用

实验环境:

    systemctl stop firewalld
    systemctl disable firewalld
    systemctl start iptables
    systemctl enable iptables

1.iptables常用命令

 iptables -nL           ##查看iptables的规则信息
 iptables -F            ##刷新iptables的信息
 service iptables save  ##将iptables信息保存在/etc/sysconfig/iptables

常用参数:

-n 不做解析
-L查看
-F 清空(临时)
-t 表名
-A添加(默认最后一条)
-I添加(可以指定位置)
-R修改
-s来源
-D删除
-m状态 ESTABLISHED正在连接的 RELATED 已经连接过的 NEW 新的

2.iptables策略的设置

    iptables -t filter -nL   ##查看filter表的策略信息,-t表示指定表
    iptables -P INPUT DROP   ##设置INPUT链为不回复
    iptables -A INPUT -p tcp --dport 80 -j REJECT    ##设置拒绝80端口
    iptables -D INPUT 2                              ##删除INPU链表的第二条
    iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT  ##在INPUT链的第一条插入允许80端口
    iptables -R INPUT 1 -s 172.25.254.65 -p tcp --dport 80 -j ACCEPT 

3.filter表的设置

    iptables -N westos         添加westos链
    iptables -E westos WESTOS  更改链的名字
    iptables -X WESTOS         删除自定义的链

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT   允许已经连接过的和正在连接的
    iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT (sshd) 
    iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT (nfs)
    iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT(https)
    iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT (http)
    iptables -A INPUT -m state --state NEW -i lo -j ACCEPT  允许回环接口
    iptables -A INPUT -j REJECT   除上述规则之外的所有都拒绝

地址的伪装:

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.168
测试:
ping 172.25.254.65    ##可以ping通

路由前进(自动调转):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 172.25.9.169
测试:
ssh [email protected]
ifconfig   ##ip为169,自动跳转 

猜你喜欢

转载自blog.csdn.net/l675655077/article/details/80699897