iptables简介
IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。其中包含三表(filter表,nat表,mangle表)、五链(INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING)。
安装iptables服务
开启服务,关闭火墙并冻结火墙
iptables服务相关命令
-t 指定表名称
-n 不作解析
-L 列出指定表中的策略
-A 增加策略
-p 网络协议
--dport 端口
-s 数据来源
-j 动作
ACCEPT 允许
REJECT 拒绝
DROP 丢弃
-N 增加链
-E 修改链名称
-X 删除链
-D 删除指定策略
-I 插入
-R 修改策略
-P 修改默认策略
列出表中的策略,并且做解析
列出表中的信息,不做解析
列出filter表中的策略,不做解析
列出nat表中的策略,不做解析
刷掉表中的所有策略,没指明哪张表时默认filter表
sercive iptables save ##保存iptables指令
iptables -A INPUT -i lo -j ACCEPT #允许lo接口数据
iptables -A INPUT -j REJECT #拒绝所有接口数据
iptables -A INPUT -s 172.25.254.25 ACCEPT ##允许25这台主机访问
用25连接125,却发现无法连接,原因是系统读表中的策略时,是从上到下依次读取,如果第一条不匹配,就会读第二条,以此类推,知道读到匹配的,后面的策略就不再读,如果所有的都不匹配,就根据默认策略执行
iptables -D INPUT 2 ##删除第二条策略
在第一条的位置添加拒绝25主机访问80端口的策略
修改第一条策略为允许
添加一个名为westos的表
改westos为redhat
删除名为redhat的表
刷掉表中的所有策略
iptables伪装和端口装换
给服务端增加一块网卡eth1,并设置IP
重启网络,查看设置结果
客户端的配置
设置IP,与服务端的eth1在同一网段,网关为eth0的ip
测试,可以ping通服务端
测试,不能ping通真机,不在同一网段
查看nat表的策略
设置从客户端到从服务端eth0出去的数据伪装成源数据为172.25.254.125
内核路由转发功能表
需要写入到/etc/sysctl.conf文件中去,重新启动才能生效
查看加载的策略
测试,可以ping通真机
设置将真机从服务端eth0进去的数据伪装成源数据为172.25.25.225
用客户机连接真机,真机查看远程登陆自己的主机时,会显示为服务机的ip