iptables简介   

    IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。其中包含三表(filter表,nat表,mangle表)、五链(INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING)。

wKioL1mVsMKwpcW8AAYYuPt_U9c681.png

安装iptables服务

wKiom1mY70-QSv7GAAGjpnZONNs718.png

开启服务,关闭火墙并冻结火墙

 

wKioL1mY72GB3jONAAGYJ9wnz8Q582.png

iptables服务相关命令

  

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

      -P                 修改默认策略

列出表中的策略,并且做解析

wKioL1mY8JyQTgq_AAFzoHthFMc644.png

 

列出表中的信息,不做解析

wKiom1mY8KKzaSJ1AAFtrnJNT8U430.png

 

列出filter表中的策略,不做解析

wKioL1mY8J2DswXkAAFzA8n7MAo915.png

列出nat表中的策略,不做解析

wKiom1mY8VHhWHYXAADbNnh1kmU501.png

 

刷掉表中的所有策略,没指明哪张表时默认filter表

sercive iptables save     ##保存iptables指令

wKioL1mY8Uyh8e-ZAAHTQybLzfg031.png

iptables -A INPUT -i lo -j ACCEPT #允许lo接口数据

iptables -A INPUT -j REJECT         #拒绝所有接口数据

wKiom1mY8mKygClCAAEw8QCCIzc266.png

iptables -A INPUT -s 172.25.254.25 ACCEPT ##允许25这台主机访问

wKioL1mY8l2QNZuNAADSjZfnh9o990.png

 

用25连接125,却发现无法连接,原因是系统读表中的策略时,是从上到下依次读取,如果第一条不匹配,就会读第二条,以此类推,知道读到匹配的,后面的策略就不再读,如果所有的都不匹配,就根据默认策略执行

wKiom1mY8mOh-A_GAAA6hG4nb5A637.png

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

wKioL1mY9CyCCF8YAAHD1Nfgi_g239.png

在第一条的位置添加拒绝25主机访问80端口的策略

wKiom1mY9JjS0TgmAAFG-34xc4o884.png

修改第一条策略为允许

wKioL1mY9TTT46atAAExWZqZhTY895.png

添加一个名为westos的表

wKiom1mY9TryFhQuAAFIb5LuxW0623.png

改westos为redhat

wKiom1mY9TvwfFYaAAFKYfoqxFo772.png

删除名为redhat的表

wKioL1mY9TajeOjFAAEZHOgbl_c873.png

刷掉表中的所有策略

wKiom1mY9i2BkaDAAAEQbFFc1ls805.png

iptables伪装和端口装换

给服务端增加一块网卡eth1,并设置IP

wKiom1mY9pnyaIIWAACzJ-GuAPc663.png

wKioL1mY9qaA3S9bAABJr8UHZC0754.png

重启网络,查看设置结果

wKiom1mY9tegaAYVAAI-Q1mUVpw102.png

客户端的配置

设置IP,与服务端的eth1在同一网段,网关为eth0的ip

wKioL1mY9wTxBg4EAAA5lczAy_I362.png

 

测试,可以ping通服务端

wKiom1mY9wqxEMp-AAChwX4xSVw246.png

 

测试,不能ping通真机,不在同一网段

wKioL1mY9wXTpgyJAAAqh2kcZTU614.png

 

查看nat表的策略

wKiom1mY9-SyvPCJAADdposH4vk241.png

 

设置从客户端到从服务端eth0出去的数据伪装成源数据为172.25.254.125

wKioL1mY9-DBXMaGAABivnPxEJU325.png

 

内核路由转发功能表

wKioL1mY9-DCDB3iAAH4BAPn4xA692.png

 

需要写入到/etc/sysctl.conf文件中去,重新启动才能生效

wKiom1mY9-bRCqtZAACSk-Uq2aA985.png

 

查看加载的策略

wKiom1mY-QmRaaGRAAFYqU5ibMk886.png

测试,可以ping通真机

wKioL1mY-ZfCnjl6AACt5Vrtxhc339.png

设置将真机从服务端eth0进去的数据伪装成源数据为172.25.25.225

 

wKioL1mY-QTQCVyMAAFn98lSeJI604.png

用客户机连接真机,真机查看远程登陆自己的主机时,会显示为服务机的ip