zoukankan      html  css  js  c++  java
  • 网络之 Iptables总结

    查询
    iptables -L 默认 filter表
    iptables -L -t filter
    iptables -L -t nat
    iptables -L -t mangle

    Filter表
    service iptables start
    service iptables stop
    iptables -t filter -A INPUT -j DROP

    Centos6
    service iptables save 保存规则
    保存规则的路径:/etc/sysconfig/iptables
    Centos7
    iptables-save > /tmp/iptables.rules 保存
    iptables-restore /tmp/iptables.rules 恢复
    iptables -t filter -F 清除filter表所有规则
    iptables -t filter -F INPUT 清除filter表INPUT链所有规则
    iptables -t filter -A INPUT -j DROP 添加规则
    iptables -t filter -A INPUT -j ACCEPT
    iptables -t filter -I INPUT 1 -j ACCEPT 指定位置插入规则
    iptables -t filter -I INPUT 2 -j ACCEPT
    iptables -t filter -R INPUT 3 -j ACCEPT 修改规则
    iptables -t filter -D INPUT -j ACCEPT 删除规则
    iptables -t filter -D INPUT 3 指定删除规则的行号
    iptables -L --line-numbers 查询规则行号
    iptables -t filter -P INPUT DROP 修改默认值

    根据IP地址
    270/557
    iptables -t filter -A INPUT -s 172.16.110.92 -j DROP
    iptables -t filter -A INPUT -d 172.16.110.1 -j DROP
    iptables -t filter -A INPUT ! -s 172.16.110.92 -j DROP
    iptables -t filter -A INPUT -s 172.16.110.0/24 -j DROP
    eg:
    禁止你的同桌对你的访问(在INPUT和OUTPUT各写出规则) 几条?
    iptables -A INPUT -s 172.16.110.92 -j DROP
    iptables -A OUTPUT -d 172.16.110.92 -j DROP
    根据协议
    iptables -A INPUT -s 172.16.110.92 -p icmp -j DROP
    iptables -A INPUT -s 172.16.110.92 -p tcp -j DROP
    iptables -A INPUT -s 172.16.110.92 ! -p tcp -j DROP
    根据端口
    iptables -A INPUT -s 172.16.110.92 -p tcp --dport 22 -j DROP
    iptables -A INPUT -s 172.16.110.92 -p tcp ! --dport 22 -j DROP
    iptables -A INPUT -s 172.16.110.92 -p tcp --dport 22:80 -j DROP
    iptables -A INPUT -s 172.16.110.92 -p tcp --dport 22: -j DROP 22号端口到最后端口
    iptables -A INPUT -s 172.16.110.92 -p tcp --dport :80 -j DROP 0到80端口
    eg:
    禁止同桌访问你的80端口在(INPUT 和 OUTPUT)
    iptables -A INPUT -s 172.16.110.92 -p tcp --dport 80 -j DROP
    iptables -A OUTPUT -d 172.16.110.92 -p tcp --sport 80 -j DROP
    eg
    1.只允许别人访问你的80端口
    iptables -A INPUT -p tcp ! --dport 80 -j DROP
    2.拒绝所有人登录你的sshd服务
    iptables -A INPUT -p tcp --dport 22 -j DROP
    3.只允许别人访问的ftp服务
    端口模式(主动)
    iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
    iptables -A INPUT -j DROP
    被动
    vim /etc/vsftpd/vsftpd.conf
    pasv_min_port=10000
    pasv_max_port=11000
    service vsftpd restart
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 10000:11000 -j ACCEPT
    iptables -A INPUT -j DROP

    根据网卡
    iptables -A INPUT -i eth0 -j DROP
    iptables -A OUTPUT -o eth0 -j DROP

    自定义链
    iptables -N lian1 创建
    iptables -A INPUT -j lian1 添加链接
    iptables -A lian1 -j DROP 自定义链动作
    iptables -E lian1 newlian 修改链名
    删除自已定义链
    iptables -D INPUT 1 清除链接
    iptables -F newlian 删除自定义链内规则
    iptables -X newlian 删除自定义链
    动作 -j
    DROP
    ACCEPT
    自定以链
    REJECT
    271/557
    LOG
    iptables -A INPUT -j LOG
    端口模块multiport(最多匹配15个端口)
    目标端口匹配
    iptables -A INPUT -p tcp -m multiport --dport 20,21,23,25,80 -j DROP
    源端口匹配
    iptables -A OUTPUT -p tcp -m multiport --sport 20,21,23,25,80 -j DROP
    端口匹配
    iptables -A OUTPUT -p tcp -m multiport --port 20,21,23,25,80 -j DROP
    iptables模块 状态防火墙

    SNAT表(地址装换表)

    172.16.110.2----------->172.16.110.1
    10.10.10.1---------------------------10.10.10.200
    1.客户端:网关
    route add default gw 172.16.110.1
    2.SNAT开转发
    echo 1 > /proc/sys/net/ipv4/ip_forward
    写防火墙规则
    iptables -t nat -A POSTROUTING -s 172.16.110.0/24 -j SNAT --to 10.10.10.1
    iptables -t nat -A POSTROUTING -s 172.16.110.0/24 -j MASQUERADE
    172.16.110.2-----------------172.16.110.1
    客户端 10.10.10.1<----------------10.10.10.200
    测试:
    elinks --dump 10.10.10.200

    DNAT
    1.服务器:网关
    route add default gw 10.10.10.1
    2.DNAT开转发
    echo 1 > /proc/sys/net/ipv4/ip_forward
    防火墙规则
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.10.10.200
    测试
    elinsk --dump 172.16.110.1

  • 相关阅读:
    网络编程(1)
    反射,魔法方法,单例模式
    远程的文件传输
    DNS
    windows服务
    outlook邮箱配置
    win7服务器搭建
    windows常用命令
    C盘满了怎么办
    0x80070035找不到网络路径
  • 原文地址:https://www.cnblogs.com/andy6/p/10130339.html
Copyright © 2011-2022 走看看