查询
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

网络之 Iptables总结的更多相关文章

  1. 【iptables】linux网络防火墙-iptables基础详解(重要)

    一:前言   防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...

  2. linux网络防火墙-iptables基础详解

    一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防火墙 ...

  3. Kubernetes网络的iptables模式和ipvs模式支持ping分析

    1.iptables模式无法ping通原因分析 iptables模式下,无法ping通任何svc,包括clusterip.所有ns下,下面来分析原因: 查看kubernetes的网络模式 curl 1 ...

  4. Linux之iptables(四、网络防火墙及NAT)

    网络防火墙 iptables/netfilter网络防火墙: (1) 充当网关 (2) 使用filter表的FORWARD链 注意的问题: (1) 请求-响应报文均会经由FORWARD链,要注意规则的 ...

  5. 【操作系统之十五】iptables黑白名单、自定义链、网络防火墙、常用动作

    1.黑白名单当链的默认策略为ACCEPT时,链中的规则对应的动作应该为DROP或者REJECT,表示只有匹配到规则的报文才会被拒绝,没有被规则匹配到的报文都会被默认接受,这就是"黑名单&qu ...

  6. iptables网络防火墙和SNAT原理实战

    网络防火墙 iptables/netfilter网络防火墙: (1) 充当网关 (2) 使用filter表的FORWARD链 注意的问题: (1) 请求-响应报文均会经由FORWARD链,要注意规则的 ...

  7. iptables (一) 主机防火墙和网络防火墙

    Firewall : 防火墙,隔离工具:工作于主机或网络的边缘,对于进出本主机或网络的报文根据事先定义好的检测规则作匹配,对于能够被规则所匹配到的报文做出相应处理的组件:有主机防火墙和网络防火墙 Ip ...

  8. 【转】IPtables学习笔记

    写在前面,大家测试玩iptables时要记得自己配置了那些东西,测试完成后记得删除啊,博主忘了删除一个input REJECT链的一条记录,后续测试搭建了apache服务器,始终无法访问,最后抓包发现 ...

  9. iptables命令详解和举例

    网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能有所帮助.网管员的安全意识要比空喊Linux安全重要得多. iptables -Fiptables -Xiptables -F ...

随机推荐

  1. JAVA中对字符串的常见处理函数汇总

    字符串 看到字符串,想到字符串处理中,有 字符串的反转,初级面试中常用到 字符串分割成字符串组,初级面试中常用到 字符串中的替换,初级面试中常用到 字符串中的截取,初级面试中常用到 反转reverse ...

  2. Asp.net core 学习笔记 ( Smtp and Razor template 电子邮件和 Razor 模板 )

    refer : https://dotnetcoretutorials.com/2017/08/20/sending-email-net-core-2-0/ https://ppolyzos.com/ ...

  3. 『Python CoolBook:Collections』数据结构和算法_容器型value字典&顺序字典

    一.collections.defaultdict:多值映射字典 defaultdict省去了初始化容器的过程,会默认value对象为指定类型的容器 指定list时可以使用.append, from ...

  4. 『Python CoolBook』Cython

    github地址 使用Cython导入库的话,需要一下几个文件: .c:C函数源码 .h:C函数头 .pxd:Cython函数头 .pyx:包装函数 setup.py:python 本节示例.c和.h ...

  5. 依赖注入原理---IoC框架

    先来讲一讲,一个简单的依赖注入例子. 1. 依赖 如果在 Class A 中,有 Class B 的实例,则称 Class A 对 Class B 有一个依赖.例如下面类 Human 中用到一个 Fa ...

  6. ES5和ES6那些你必须知道的事儿(一)

    ES5和ES6那些你必须知道的事儿 ES5新增的东西 一.数组方法 1.forEach     用途:遍历,循环 对于空数组不会执行回调函数 //用法 array.forEach( function( ...

  7. 匿名函数lambda及面试题三道

    # 函数名 = lambda 参数 :返回值. 匿名函数只是函数,如果要通过可迭代对象给匿名函数传参,就需要使用 map 或者 filter calc = lambda n:n**n calc(1)c ...

  8. 前端表单验证常用的15个JS正则表达式

    在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份 ...

  9. SSH登录异常(someone is doing something nasty)

    在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁止,并弹出如下类似提示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  10. C语言实现Winsocket网络传输数据时乱码问题

    问题描述:输入中文字符时在数据结尾总是有别的字符冒出 解决办法: recvBuf[ret] = '\0';//接收数据的数组,表示存储的数据截止,后面没有数据了 再运行,传输正常. 提示:C语言基础知 ...