iptables

  1. systemctl stop firewalld .
  2. systemctl start iptables.service
  3. systemctl enable iptables.service .
    #1.三表五链
    三表
    filter:访问本机数据
    nat:从本机经过的数据
    mangle:
    五链
    input
    utput 不经过网卡
    forword
    postrouting源地址转换,在路由之后
    prerouting路由之前
  4. iptables -t filter -nL #查看filter表,与iptables -nL看到的效果相同
    这里写图片描述
  5. iptables -t nat -nL #查看nat表
    这里写图片描述
  6. iptables -t mangle -nL #查看mangle表,五条链的信息都可以看到
    这里写图片描述
  7. iptables -F #刷新,清掉策略
  8. service iptables save #保存更改到/etc/sysconfig/iptables
    这里写图片描述
  9. cat /etc/sysconfig/iptables #iptables的配置文件
    #2.iptables 命令行管理
    ptables -vnL:
    iptables -A INPUT -s 192.168.0.4 -p tcp --dport 23 -j REJECT:
    iptables -A INPUT -s 192.168.0.4 -p tcp --dport 23 -j DROP:(访问
    拒绝,无任何提示)
    iptables -F:刷新策略
    iptables -t nat -F PREROUTING:
    iptables -I INPUT 2 -p tcp --dport 23 -j DROP:插入到第二条策略
    iptables -E allowed disallowed:修改规则链名称
    iptables -D INPUT 3:删除filter表中的第三条规则
    iptables -D INPUT -s 192.168.0.1 -j DROP #按内容删除
    iptables -R INPUT 3 -j ACCEPT #将原来编号为3的规则内容替换为ACCEPT
    iptables -P INPUT DROP #设置filter表INPUT链的默认规则 ,当数据包没有被规则列表里的任何规则匹配到时,按此默认规则处理
    iptables -t nat -F #清空nat策略, -F 仅仅是清空链中规则,并不影响 -P 设置的默认规则
    iptables -t nat -nL #查看nat策略
    iptables -t nat -L PREROUTING #查看nat表PREROUTING链的规则
    iptables -N redhat #添加自定义链名
    iptables-X redhat #删除自定义链
    iptables-A INPUT -s !192.168.0.4 -p tcp --dport 23 -j REJECT #只有4不可以连接
    -D redhat 1 #删除自定义链下的策略
    -i eth0 #匹配从网络接口 eth0 进来
    -o eth0 #匹配从网络接口 eth0 出去
    -s 192.168.0.1 #匹配来自 192.168.0.1 的数据包
    -s 192.168.1.0/24 #匹配来自 192.168.1.0/24 网络的数据包
    -d 202.106.0.20 #匹配去往 202.106.0.20 的数据包
    -d 202.106.0.0/16 #匹配去往 202.106.0.0/16 网络的数据包
    -d www.abc.com #匹配去往域名 www.abc.com
  10. systemctl start httpd
  11. iptables -P INPUT DROP #设置为丢弃状态,默认为接受,可以进行访问
    这里写图片描述
    测试:
    修改之前:
    这里写图片描述
    修改之后:
    这里写图片描述
    注: iptables -P #其后只能加ACCEPT或DROP,P表示规则,p表示协议
  12. iptables -A INPUT -p tcp --dport 80 -j REJECT #将80端口设置为拒绝状态
    这里写图片描述

因为拒绝,所以访问不到

  1. iptables -A INPUT -s 172.25.254.78 -p tcp --dport 80 -j ACCEPT #设置只允许172.25.254.78这台主机连接,但是还是不能访问,因为默认只读第一条正确的策略,以提高读取速度;其余的策略根本就不会读,所以还不能访问
    这里写图片描述

  2. iptables -D INPUT 2 #删除第二条策略
    这里写图片描述

  3. iptables -R INPUT 1 -s 172.25.254.78 -p tcp --dport 80 -j ACCEPT #修改第一条策略使得172.25.254.78这台主机可以访问
    这里写图片描述

  4. iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT #指定在INPUT的第二行添加策略,使得所有主机都可连接此服务端
    这里写图片描述

  5. iptables -N westos #添加westos
    这里写图片描述

  6. iptables -E westos WESTOS #重命名
    这里写图片描述

  7. iptables -X WESTOS #删除
    这里写图片描述
    如果有多条策略,但只读第一条正确的,其余的就不会读,以下操作解决这个问题

  8. iptables -D INPUT 1 #删除原来所有的策略,有几行就依次删除

  9. iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  10. iptables -A INPUT -p tcp --dport 22 -j ACCEPT

  11. iptables -A INPUT -p tcp --dport 3260 -j ACCEPT

  12. iptables -A INPUT -p tcp --dport 443 -j ACCEPT

  13. iptables -A INPUT -i lo -j ACCEPT #允许回环接口

  14. iptables -nL #查看策略

  15. iptables -F #刷新策略

  16. ipables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #设置使连接过的和正在使用的不读取,那么在后边新写入的策略就会被读取,以此类推,新写入的策略总能被读取到
    这里写图片描述

  17. iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT

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

  19. iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT

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

  21. iptables -A INPUT -m state --state NEW -p tcp --dport 3260 -j ACCEPT

  22. iptables -A INPUT -m state --state NEW -p -i lo -j ACCEPT

  23. iptables -nL
    这里写图片描述

  24. iptables -F

  25. service iptables save

  26. cat /etc/sysconfig/iptales
    这里写图片描述

3.iptable命令实现端口伪装,在nat表中实现

在服务端(双网卡)

  1. iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25…238 #所有从eth1出去的数据包地址都伪装成172.25.0.238输出,SNAT就是改变转发数据包的源地址

  2. iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 22 -j DNAT --to-dest 172.25.254.238 #22端口是以172.25.254.238输入,DNAT就是改变转发数据包的目的地址

  3. iptables -t nat -nL
    在客户端测试:

  4. 内网访问外网
    ping 172.25.0.238 #可以ping通,就代表成功
    这里写图片描述

  5. 外网访问内网
    连接服务端,连接成功查看eth0,看到172.25.254.238,就代表成功
    这里写图片描述

没有更多推荐了,返回首页