一、 火墙的基本命令

  iptables 

         -t      ##指定表名称

         -n      ##不做解析

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

         -A      ##增加策略

         -p      ##网络协议

         --dport   ##端口

         -s      ##数据来源

         -j      ##动作

         -N      ##增加链

         -E      ##改变链名称

         -X      ##删除链

         -D      ##删除指定策略

         -I      ##插入策略

         -R      ##修改策略

         -P      ##修改默认策略

         ACCEPT   ##允许

         REJECT   ##拒绝

         DROP    ##丢弃

二、

   *)iptables    -nL      #查看火墙中的策略

  火墙_第1张图片  *)iptables  -F    ##刷掉火墙中的所有策略

   火墙_第2张图片

 *)service  iptables save   ##保存当前策略

  wKioL1kuT32ARQ7XAABmPz03oW0169.png

 *)iptables -A INPUT -i lo -j ACCEPT  ##允许lo回环接口

  火墙_第3张图片

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

火墙_第4张图片

 *)iptables -A INPUT -s 172.25.254.28 -j ACCEPT  ##允许28主机访问本机所有端口

 火墙_第5张图片

 *)iptables -A INPUT -j  REJECT            ##拒绝所有主机访问

 火墙_第6张图片 *)iptables -N  redhat    ##增加链redhat

 火墙_第7张图片

 *)iptables -E  redhat  soo  ##改变链名称

 火墙_第8张图片

 *)iptables  -X  soo    ##删除链

  火墙_第9张图片

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

  火墙_第10张图片

 *)iptables  -I  INPUT 2  -p  tcp --dport 80 -j  REJECT  ##插入策略到INPUT中的第二行

  火墙_第11张图片

 *)iptables -R INPUT 2 -p tcp --dport  80 -j ACCEPT  ##修改第二行策略

 火墙_第12张图片

 *)iptables -P INPUT DROP  ##把INPUT表中的默认策略改为DROP

  火墙_第13张图片


三、防火墙路由设置

  sysctl   -a   |  grep  forward 

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

  sysctl -p

  iptables -t nat -A PREROUTING -i eth1 -j  DNAT --to-dest 172.25.0.228

  iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.128

 

 测试: 利用172.25.0.228主机ping 172.25.254.151主机

  火墙_第14张图片

 

四、使用命令行接口配置防火墙

 systemctl status firewalld

 systemctl stop iptables              ##关闭iptables

 systemctl mask iptables              ##禁用iptables

 systemctl start firewalld             ##开启firewalld

 systemctl enable firewalld            ##开机自动开启firewalld

 火墙_第15张图片

 firewall-cmd --state    ##查看firewalld的状态

 wKiom1k6FbbQzrCOAAAiw6FIJj4970.png

 firewall-cmd --get-active-zone    ##查看当前活动的区域,并附带一个目前分配给他们的接口列表

 火墙_第16张图片

 firewall-cmd --get-default-zone  ##查看默认区域

 wKiom1k6FlmS9seGAAAm1x7vl30028.png

 firewall-cmd --get-zone     ##查看所有可用区域

 wKioL1k6Fq_jL82EAAA36TE8dso859.png

 firewall-cmd --zone=public --list-all     ##列出指定域的所有设置

 火墙_第17张图片

 firewall-cmd --get-services      ##列出所有预设服务

 火墙_第18张图片

 firewall-cmd --permanent --zone=internal --add-source=172.25.254.151

  ##设定网络地址到指定区域  (--permanent永久生效 ,如果没有 --zone=internal就会将172.25.254.151加到默认的区域)

 wKioL1k6F_2ia171AAAmPOFGKIk223.png firewall-cmd --permanent --remove-source=172.25.254.151

 ##删除所指定的网络地址

 wKioL1k6GKTQbcUaAAAxF4LPoW8439.png firewall-cmd --set-default-zone=trusted     ##设定默认区域为trusted

firewall-cmd --get-default-zone     ##查看默认区域

火墙_第19张图片

firewall-cmd --permanent --remove-service=ssh

 ##将public默认策略里的ssh服务删除

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.151 -p tcp --dport 22 -j ACCEPT

  ##设置除了151主机以外的所有主机都可以通过22端口

 wKiom1k6GvLSVwvRAABAr1KI1wc822.png ****)防火墙伪装

 wKiom1k6G0Lh2jTMAAA0zoCYi9g979.png

 火墙_第20张图片

 

 *****)端口转发

 wKiom1k6G2rwhQogAAAuBqIE0zw781.png

火墙_第21张图片