iptables

简介:

 *iptables是一个工作于用户空间的防火墙应用软件

 *三表五链

 filter表  mangle表  nat表

 INPUT链  OUTPUT链  FORWARD链  PREROUTING链  POSTROUTING链

 

  1.实验之前关闭firewalld服务,开启iptables

wKioL1ks-vKzOS3VAABgmmc_KcU854.png

wKiom1ks-wjQeQ8kAAA4UUmpsJ0566.png

  

  2.iptables命令

  * iptables  -t    ##指定表名称,默认是filter表

           -n    ##不作解析

           -L    ##列出指定表中的策略

wKioL1ks_YKip3g3AAD5fgw2L90522.png

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


 * iptables  -A      ##增加策略

          -i      ##向规则链中增加条目

          -p      ##网络协议

          --dport   ##端口

          -s      ##数据来源

          -j      ##动作

          ACCEPT    ##允许

          REJECT    ##拒绝

          DROP      ##丢弃

wKioL1ks_dKxYZsAAABtCZbZTKs453.png

 iptables -A INPUT -i lo -j ACCEPT  ##允许回环接口通过

 iptables -A INPUT -p tcp --dport 22 -j ACCEPT  ##允许访问22端口

 iptables -A INPUT -s 172.25.254.234 -j ACCEPT  ##允许234主机访问本机所有端口

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


*测试

wKiom1ks_mvRxb7KAAC9GR--33U360.png


  * iptables   -N  ##增加链

            -E  ##修改链名称

            -X  ##删除

            -D  ##删除指定策略

            -I  ##插入

            -R  ##修改策略

            -P  ##修改默认策略



wKioL1ks_2vxI4_mAADuxI_el1A353.png

   iptables -N redhat    ##添加redhat链

wKiom1ks_7DwN2EzAADxbPIhKYo034.png

   iptables -E redhat westos  ##修改redhat链为westos

wKioL1ks_9LTptjCAADT9PucurE259.png

   iptables -X westos  ##删除westos链

wKioL1ktAD_j_tR7AAC_nt1muSI676.png

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

wKiom1ktAHCR4z_sAADq6HviIfM068.png

   iptables -I INPUT -p tcp --dport 80 -j REJECT  ##INPUT链第一条插入策略

wKioL1ktAJHRm7OVAADd6Vljgqw502.png

   iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT   ##修改INPUT链中的第一条策略

wKiom1ktALXjo1eHAADW_X4vhok914.png  

   iptables -P INPUT DROP  ##修改默认策略

 wKioL1ktAQ3jlyU-AAB_w4LZZjQ626.png

   iptables -F  ##刷掉所以策略,临时生效

wKiom1ktARrSmhLoAAA7sALXGtQ054.png

   service iptables save  ##保存设置到配置文件,重启后也生效


  3. 提高访问速度,缓解访问压力方法

wKiom1ktA2TAI0HqAADRJEmEF0Q643.png

  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  

  ##允许访状态是NEW问80端口

  iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT 

  ##允许状态是NEW访问443端口

  iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT  

  ##允许状态是NEW访问53端口 

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


  4.路由

  sysctl -a | grep forward  ##查看forward状态

wKiom1ktA9WwK8efAAEJ7OJML3s950.png

  echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf  ##打开net.ipv4.ip_forward

  sysctl -p   ##设置生效

wKioL1ktBB3h83v1AAA88fJ-AiE010.png

  iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 172.25.0.11  ##进入路由


 测试

 用172.25.0.11主机ssh连接172.25.254.174主机

wKiom1ktBOWQkqcJAAG2XC-G5fQ008.png

  

  iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.174  ##出路由设置


 测试

 连上172.25.254.174主机,显示的IP是172.25.0.11

wKiom1ktBWjBJUA-AAHLwpV9cGw127.png

本文转自  red777    51CTO博客,原文链接:http://blog.51cto.com/12314711/1930685


相关文章
|
8月前
|
网络协议 Linux 网络安全
iptables 的四表五链
iptables 是 Linux 系统上用于定义防火墙规则的工具,它通过四个表和五个链来进行配置。下面是这些表和链的详细说明: 四个表: 1. filter 表:filter 表是最常用的表,用于过滤数据包。它包含了 INPUT、OUTPUT 和 FORWARD 三个默认的链。 2. nat 表:nat 表用于网络地址转换 (NAT)。它包含了 PREROUTING、POSTROUTING 和 OUTPUT 三个默认的链。nat 表用于修改数据包的 IP 地址和端口。 3. mangle 表:mangle 表用于修改数据包的特定字段,如 TTL(生存时间)、TOS(服务类型)等。它包含了
165 1
|
19天前
|
网络协议 网络安全
Iptables小总结
Iptables小总结
|
9月前
|
网络协议 网络安全 网络性能优化
|
安全 网络协议 Linux
扒一下一直不求甚解的 iptables
iptables 是用于配置 Linux 2.4.x 及更高版本包过滤规则集的用户空间命令行程序。它针对系统管理员。 由于网络地址转换 (NAT) 也是从包过滤规则集配置的,iptables 也用于此。 iptables 包还包括 ip6tables。ip6tables 用于配置 IPv6 包过滤器。
扒一下一直不求甚解的 iptables
|
网络协议 Linux 网络安全
|
网络协议 网络安全 网络虚拟化
|
网络协议 网络安全
|
测试技术 Linux