debian下配置防火墙iptables

debian下iptables输入命令后即时生效,但重启之后配置就会消失,可用iptables-save快速保存配置,然后在开机自动的时候让iptables自动加载刚刚导出的配置文件,方法如下:

若要停止iptables,iptables -F清空所有配置效果等同于停止。

whereis iptables           查找iptables 所在的路径。

1、将iptables配置保存到/etc/iptables,这个文件名可以自己定义,与下面的配置一致即可

iptables-save > /etc/iptables

2、创建自启动配置文件,并授于可执行权限

iptables-save > /etc/iptables

3、编辑该自启动配置文件,内容为启动网络时恢复iptables配置

vi /etc/network/if-pre-up.d/iptables

内容为:

#!/bin/sh

/sbin/iptables-restore < /etc/iptables

保存并退出。这样重启之后iptables就自动加载规则了。

##注意:在下次修改iptables规则之后要重新导出配置文件。

#清空配置

iptables -F

iptables -X

iptables -Z

#配置,禁止进,允许出,允许回环网卡

iptables -P INPUT DROP

iptables -A OUTPUT -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

#允许ping

iptables -A INPUT -p icmp -j ACCEPT

#允许ssh

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

#允许ftp

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -p tcp --dport 20 -j ACCEPT

#允许ftp被动接口范围,在ftp配置文件里可以设置

iptables -A INPUT -p tcp --dport 20000:30000 -j ACCEPT

#学习felix,把smtp设成本地

iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT -s 127.0.0.1

iptables -A INPUT -p tcp -m tcp --dport 25 -j REJECT

#允许DNS

iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT

iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT

#允许http和https

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

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

# 允许已建立的或相关连的通行

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

#禁止其他未允许的规则访问

iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)

iptables -A FORWARD -j REJECT

#保存配置

iptables-save > /etc/iptables

由于Debian安装iptables后默认不是服务提示service iptables提示unrecognized service,需要添加脚本到/etc/init.d/,脚本如下

建议将其保存为/etc/init.d/iptables,然后chmod +x /etc/init.d/iptables 添加运行权限。

#!/bin/sh -e

### BEGIN INIT INFO

# Provides: iptables

# Required-Start:

# Required-Stop:

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: start and stop iptables firewall

# Description: Start, stop and save iptables firewall

### END INIT INFO

PATH=”/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin”

IPTABLES=/sbin/iptables

IPTABLES_SAVE=/sbin/iptables-save

IPTABLES_RESTORE=/sbin/iptables-restore

IPTABLES_CONFIG=/etc/iptables.conf

[ -x $IPTABLES ] || exit 0

. /lib/lsb/init-functions

case "$1" in

start)

log_action_begin_msg "Starting firewall"

type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 120" || true

if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then

log_action_end_msg $?

else

log_action_end_msg $?

fi

type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true

;;

stop)

log_action_begin_msg "Saving current firewall configuration"

if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then

log_action_end_msg $?

else

log_action_end_msg $?

fi

log_action_begin_msg "Flushing ALL firewall rules from chains!"

if $IPTABLES -F ; then

log_action_end_msg $?

else

log_action_end_msg $?

fi

log_action_begin_msg "Deleting ALL firewall chains [Warning: ACCEPTING ALL PORT SERVICES!]"

if $IPTABLES -X ; then

$IPTABLES -P INPUT ACCEPT

$IPTABLES -P FORWARD ACCEPT

$IPTABLES -P OUTPUT ACCEPT

log_action_end_msg $?

else

log_action_end_msg $?

fi

;;

save)

log_action_begin_msg "Saving current firewall configuration"

if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then

log_action_end_msg $?

else

log_action_end_msg $?

fi

;;

force-reload|restart)

log_action_begin_msg "Reloading firewall configuration [Warning: POTENTIAL NETWORK INSECURITY DURING RELOAD]"

$IPTABLES -F

$IPTABLES -X

if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then

log_action_end_msg $?

else

log_action_end_msg $?

fi

;;

*)

echo "Usage: /etc/init.d/iptables {start|stop|save|restart|force-reload}"

exit 1

;;

esac

exit 0

时间: 2024-10-15 13:49:50

debian下配置防火墙iptables的相关文章

debian下配置dynamic printk以及重新编译内核

在以前的一篇博文<编译debian内核>已经提过了重新编译内核的方法,但是整个过程花费时间较长,并且生成deb包. 这里我采用稍微简单一些的方法,因为我并没有对内核或者驱动代码做任何修改,仅仅是在内核中选中一些未被选中的调试选项(以便于查看log信息) 先获取内核源码: sudo apt-get source linux-source-3.2 会在当前文件夹下得到几个文件: $ ls linux-3.2.57 linux_3.2.57-3+deb7u2.debian.tar.xz linux_

Debian下配置网络的方法

1.网络配置 配置网卡修改 /etc/network/interfaces 添加如下 # #号后面是备注,不要添加哦! auto eth0 #开机自动激活 iface eth0 inte static #静态IP address 192.168.0.56 #本机IP netmask 255.255.255.0 #子网掩码 gateway 192.168.0.254 #路由网关 #因为我是通过路由上网的,所以配置为静态IP和网关 如果是用DHCP自动获取,请在配置文件里添加如下: iface et

CentOS下配置防火墙 配置nat转发服务

CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network   这里可以更改主机名称. NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=BGI-TJ.localdomain GATEWAY=192.168.11.1(超算网关) 2.vim /etc/sysconfig/network-scripts/ifcfg-eth0  第一块网卡. Bro

linux下的防火墙iptables

防火墙(firewall),也称为防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网.它是一项信息安全的防护系统,依照特定的规则,允许或者是限制传输的数据通过. 简介 防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在linux内核中.在信息包过滤表中,规则被分组放在我们所谓的链(chain)中,而 netfilter/iptables IP信息包过滤系统是一款功能强大的工具,可用于添加.编辑和移除规则.

centos下配置防火墙端口失败

问题:将规则添加到防火墙中,总是端口无法开启 (1)修改文件 首先vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT(允许5001到5009的端口通过防火墙) 接着执行/etc/init.d/iptables restart (重启防火墙使配置生效). 因将该句加在文件末尾,导致防火墙重启后端口仍然无法使用. (2)解决方法 应该在默认的22端口这条

debian下配置网络 安装无线网卡驱动 Broadcom BCMXX系列

解决方案来自于debian官网  https://wiki.debian.org/wl 1.加入源 deb http://http.debian.net/debian/ wheezy main contrib non-free deb http://http.debian.net/debian/ squeeze main contrib non-free 2.更新源软件 apt-get update 3.安装配置所需软件包 apt-get install broadcom-sta-dkms

Debian下配置Samba服务器

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.Linux下的Samba服务主要用于Windows平台和linux平台下载局域网内实现文件共享. 一.Samba安装 以下操作均是在root权限进行的 apt-get install Samba安装 二.创建共享目录以及修改权限 1.mkdir /home/coin/share //这里的/home/coin/share我自己测试用的你们可以根据自己的需求建立相应目录 2.chmod 777 /hom

Debian下配置IPV6和静态路由

一.编辑网卡文件 vi /etc/network/interfaces二.修改网卡文件 # This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5). # The loopback network interface auto loiface lo inet loopback # The

CentOS下配置iptables防火墙 linux NAT(iptables)配置

CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network   这里可以更改主机名称. NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=BGI-TJ.localdomain GATEWAY=192.168.11.1(超算网关) 2.vim /etc/sysconfig/network-scripts/