iptables学习笔记

 

Netfilter:是Linux操作系统核心层内部的一个数据包处理模块。

 

Hook point:数据包在Netfilter中的挂载点。(PRE_ROUTIN

 

,INPUT,OUTPUT,FORWARD,POST_ROUTING

 

iptables 规则组成:四张表+五条链(Hook point+规则

 

四张表:filter表、nat表、mangle表、raw

五条链:INPUT OUTPUT FORWARD PREROUTING POSTROUTING

图片1.png 

PREROUTIN 如果流量localhost(本地) ——》INPUT

如果流量不是本地——》FORWARD

 

POSTROUTIN

 

规则:

数据包访问控制:ACCEPT(接收)DROP(丢弃)、REJECT(拒绝)

 

数据包改写:SNAT(源地址)DNAT(目标地址)

 

信息纪录:LOG

 

图片2.png 

Command:

-A :追加新纪录

-D:删除

-L:显示当前规则

-F:清楚现有规则

-P:设置默认规则

-I:插入新规则

 

Parameter&xmatch

-P 协议

-s 源地址

-d 目标地址

–sport 源端口

–dport 目标端口

–dports 目标端口段

-m tcp|state|multiport

Target

-j ACCEPT 运行通过

DROP 丢弃

REJECT 拒绝

DNAT

SNAT

 

实例:

Iptables 配置场景一

规则1、对所有的地址开放本机tcp(802210-21)端口的访问

规则2、允许对所有的地址开放本机的基于ICMP协议的数据包访问

规则3、其他未被允许的端口规则禁止访问

Iptables -nL

Iptables -F

Iptables -I INPUT -p tcp –dport 80 -j ACCEPT

Iptables -I INPUT -p tcp –dport 22 -j ACCEPT

Iptables -I INPUT -p tcp –dport 1021 ACCEPT

Iptables -I INPUT -p icmp -j ACCEPT

Iptables -A INPUT -j REJECT

场景一存在的问题:

1、本机无法访问本机

Iptables -I INPUT -i lo -j ACCEPT

2、本机无法访问其他主机

Iptables -I INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

补充:在场景一的基础上,只允许192.168.0.100访问本机的httpd服务

Iptables -D INPUT -p tcp –dport 80 -j ACCEPT

Iptables -I INPUT -p tcp -s 192.168.0.100 –dport 80 -j ACCEPT

 

Iptables 配置场景二

 

1、ftp主动模式下iptables配置

图片3.png 

图片4.png 

图片5.png 

2、ftp被动模式下iptables配置

图片6.png 

图片7.png 

图片8.png 

 

Iptables 配置场景三

要求一:员工作公司内部(192.168.1.0/24,192.168.2.0/24)能访问服务器的任何服务

要求二:当员工出差例如在上海,通过VPN连接到公司外网(员工)===拨号到===VPN服务器++=》内网FTPSAMBA,NFS,SSH

要求三:公司有一个门户网站需要允许公网访问

图片9.png 

图片10.png 

 

iptables -F

iptables -I INPUT -i lo -j ACCEPT

iptables -I INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT

iptables -A INPUT -p tcp –dport 80 -j ACCEPT

iptables -A INPUT -p tcp –dport 1723 -j ACCEPT

iptables -I INPUT -p icmp -j ACCEPT

iptables -A INPUT -j REJECT

iptables -nL

/etc/init.d/iptables save

 

 

 

图片11.png 

Snat

 

 

Nat转发 设置/etc/sysctl.conf    net.ipv4.ip_forward=1 默认为0

图片12.png  

 

Iptables -t nat -A POSTROUTING -s 10.10.177.0/24 -j SNAT –to 10.10.188.232

 

Dnat

图片13.png 

Iptables -t nat -A PREROUTING -d 10.10.188.233 -p tcp –dport 80 -j DNAT –to 10.10.177.232:80

 

 

图片14.png 

图片15.png iptables -I INPUT -p TCP –syn –dport 80 -m connlimit –connlimit-above 100-j REJECT

 

图片16.png 

场景:限制10icmp包通个,如果大于10个包就现在速度 每分钟5

 

Iptables -A INPUT -p icmp -m limit –limit 1/m –limit-burst 10 -j ACCEPT

Iptables -A INPUT -p icmp -j DROP

 

原创文章,作者:luobocai,如若转载,请注明出处:http://www.178linux.com/49664

(0)
luobocailuobocai
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相关推荐

  • 十七周

    1、搭建一套LVS-DR模型的高性能集群,并实现以下功能:    (1)、wordpress程序通过nfs共享给各个realserver;    (2)、后端realserver中的nginx和php分离 Centos7系统 地址 安装程序 LVS主机 VIP:192.168.1.110 ipvsadm DIP:192…

    2017-08-17
  • LVS NAT + Keepalived HOWTO

    LVS NAT + Keepalived HOWTO   这篇文章主要讲解了,基于LVS/NAT,安装,运行与检测keepalived 目录     1、什么是keepalived?     2、规划你的网络 &nbsp…

    Linux干货 2015-09-21
  • vim文本操作、例行性工作、脚本编程_第六周练习(01)

    vim文本操作 Q1:复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@promote /]# cp /etc/rc.d/rc.sysinit /tmp/ [root@promote /]# l…

    Linux干货 2016-12-18
  • linux命令简单应用

    创建/tmp目录下的:a_c, a_d, b_c, b_d touch /tmp/{a,b}_{c,d} [root@bogon ~]# tree /tmp /tmp |– a_c |– a_d |– b_c |– b_d 创建/tmp/mylinux目录下的: mylinux/ ├── bin ├── boo…

    Linux干货 2016-11-06
  • thinkpad e420编译安装thinkfan控制风扇

    我的笔记本是win7+linuxmint双系统,在进入linuxmint长时间运行后会明显感觉发热,我发现笔记本风扇的转数过低,导致热量不能发散出去,解决方法就是安装thinkfan风扇控制软件。 1、下载软件包 https://sourceforge.net/projects/thinkfan/ 最新版本是1.0beta2 2、编译安装 编译前确保安装过c…

    Linux干货 2017-03-09
  • Web服务,http协议。

    一·web   1。web是一种网站服务器,C/S架构,比较流行的Apache,Nginx,IIS。客户能够去服务器请求资        资源。   2.使用http协议,服务器html或者xml格式文件,客户浏览器访问资源(url)。   3.过程包括服务器套接字监听直到和客户套接字建立…

    Linux干货 2015-07-04