Debian安装配置Iptables防火墙

转载 2013年12月02日 10:34:17

转载http://blog.slogra.com/post-232.html

post by rocdk890 / 2012-7-29 17:33 Sunday linux技术
  服务器通常会安装防火墙,Debian上有很防火墙,Iptables为比较常用的免费防火墙,Iptables能够提供数据包过滤,网络地址转换(NAT)等功能.在Debian上手工配置Iptables的资料比较少,本文做一个详细的介绍.

第一步,首先确定你的系统已经安装Iptables.打开SSH终端,输入
whereis iptables
如果能看到如下类似信息,说明你已经安装了iptables
iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz
如果不是这个提示,或者没有任何提示,那你的Debian上可能没有安装iptables
请使用如下命令安装:
sudo apt-get install iptables
注意:本文所有命令在普通帐号下完成,本普通帐号使用sudo具有root权限,本人不建议直接使用root用户

第二步:查看Iptables目前的配置信息
可以使用如下命令查看
sudo iptables -L
如果你是第一次安装配置iptables,你可能会看到如下结果:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
这个结果,也就是防火墙充许所有的请求,就如没有设置防火墙一样.

第三步:配置Iptables
配置Iptables,我们先把一个基本的Iptables的规则文章保存起来,这个规则文章做为测试用
sudo vim /etc/iptables.test.rules
然后在这个文章中输入如下规则内容,这个内容是debian官方给出的基本配置

*filter


# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0


-A INPUT -i lo -j ACCEPT


-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT


  


# Accepts all established inbound connections


-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


  


# Allows all outbound traffic


# You could modify this to only allow certain traffic


-A OUTPUT -j ACCEPT


  


# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)


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


-A INPUT -p tcp --dport 443 -j ACCEPT


  


# Allows SSH connections for script kiddies


# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE


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


  
# Now you should read up on iptables rules and consider whether ssh access


# for everyone is really desired. Most likely you will only allow access from certain IPs.


  


# Allow ping


-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT


  


# log iptables denied calls (access via 'dmesg' command)


-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7


  


# Reject all other inbound - default deny unless explicitly allowed policy:


-A INPUT -j REJECT


-A FORWARD -j REJECT


  




COMMIT

保存本文件,然后把本规则加载,使之生效,注意,iptables不需要重启,加载一次规则就成了
sudo iptables-restore < /etc/iptables.test.rules
然后再查看最新的配置,应该所有的设置都生效了.
sudo iptables -L

第四步:保存生效的配置,让系统重启的时候自动加载有效配置
iptables提供了保存当前运行的规则功能
iptables-save > /etc/iptables.up.rules

注意,如果当前用户不是root,即使使用了sudo,也会提示你没有权限,无法保存,所以执行本命令,你必须使用root用户.
可以使用sudo -i快速转到root,使用完成,请及时使用su username切换到普通帐户.

为了重启服务器后,规则自动加载,我们创建如下文件:
sudo vim /etc/network/if-pre-up.d/iptables
本文章的内容如下:
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
最后,设置本文章具体可执行仅限
chmod +x /etc/network/if-pre-up.d/iptables

第五:其它
如果你想设置某ip段可以访问所有服务,你需要在iptables.test.rules文件中加入-A INPUT -m iprange --src-range 192.168.1.1-192.168.1.199 -j ACCEPT,然后从第三步再设置一次.注意iptables.test.rules不是必须的,它只是让你的修改时,能更好的测试.

Debian iptables服务工作脚本

  • 2017年11月12日 11:11
  • 2KB
  • 下载

Debian 8 安装 shadowsocks

既然买 vps 如果不搭建代理那就白买了。虽然年初的时候买了一年的 官方代理,真心好用,但总觉得流量会被捕获,万一从中审计处密码就完了(隔壁童鞋就曾干过,“拿”到某人的账号密码),着实吓了一跳。赶快搭...
  • B0rn_T0_W1n
  • B0rn_T0_W1n
  • 2016年09月25日 18:33
  • 4204

linux-ubuntu关闭防火墙

SYNOPSIS iptables [-t table] {-A|-C|-D} chain rule-specification ip6tables [-t table] ...
  • liuguiyangnwpu
  • liuguiyangnwpu
  • 2014年06月03日 19:43
  • 8782

linux 如何关闭防火墙

linux 如何关闭防火墙 分类: Linux 2012-07-31 09:37 389人阅读 评论(0) 收藏 举报 linux下如何关闭防火墙?如何查看防火墙当前的状态是...
  • MAOTIANWANG
  • MAOTIANWANG
  • 2013年01月07日 16:52
  • 4901

linux一些常用iptables防火墙规则整理收集

这里是一个朋友在使用linux系统时的一些常用到的iptables防火墙规则整理了一篇文章,下面我转过来作记录的同时也给各位同学参考参考。 安装iptables防火墙 如果没有安装ip...
  • lee244868149
  • lee244868149
  • 2015年04月20日 08:57
  • 1084

使用Samba时的防火墙(iptables)配置

BODY { color:black; font-family:arial,helvetica; font-variant:normal; font-style:normal; backgr...
  • shaoshaoh
  • shaoshaoh
  • 2006年07月28日 11:30
  • 7347

Debian/Ubuntu系统中安装和配置UFW-简单的防火墙

原创:Linux中国 https://linux.cn/article-2489-1.html 原创:LCTT https://linux.cn/article-2489-1.html译者: run...
  • stinkstone
  • stinkstone
  • 2017年12月27日 11:20
  • 116

linux下如何关闭防火墙?如何查看防火墙当前的状态

从配置菜单关闭防火墙是不起作用的,索性在安装的时候就不要装防火墙 查看防火墙状态: /etc/init.d/iptables status 暂时关闭防火墙: /etc/init.d/iptab...
  • bslzl
  • bslzl
  • 2012年09月03日 14:39
  • 216663

防火墙基础和iptables基本配置

iptables 与最新版本Liunx内核集成的ip信息包过滤系统。 该系统是一种强大的工具可用于添加、编辑和除去规则,这些规则是做信息包过滤决定的,防火墙所遵循和组成的规则。这些规则存储在专用的信...
  • pygain
  • pygain
  • 2016年08月31日 19:22
  • 756

iptables 防火墙设置

1、安装iptables防火墙  怎么知道系统是否安装了iptables?执行iptables -V,如果显示如:  iptables v1.3.5  说明已经安装了iptables。  如果没有安装...
  • u013378306
  • u013378306
  • 2017年02月09日 16:05
  • 830
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Debian安装配置Iptables防火墙
举报原因:
原因补充:

(最多只允许输入30个字)