linux中iptables 防火墙简单设置

用vim打开/etc/sysconfig/iptables,我们先来看一下最终设置好apache80端口访问是什么样:

 代码如下 复制代码

1、:RH-Firewall-1-INPUT - [0:0]

这里可以理解为定义了一个链RH-Firewall-1-INPUT

 代码如下 复制代码
2、-A INPUT -j RH-Firewall-1-INPUT和-A FORWARD -j RH-Firewall-1-INPUT

这里是把INPUT和FORWARD的所有包都转发到RH-Firewall-1-INPUT,这是重点,也就意味着,只要定义好RH-Firewall-1-INPUT,就定义好了INPUT和FORWARD两个链

 代码如下 复制代码
3、-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

允许80端口的数据包传输,这里的参数都很简单,去百度查一下就知道了

好了,就这么简单,一个80端口的防火墙设置就弄好了~~

 

那么如何屏蔽来自某个特定国家的 IP 呢?

方法很容易,先到 IPdeny 下载以国家代码编制好的 IP 地址列表,

比如下载 cn.zone:

# wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone

有了国家的所有 IP 地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取 cn.zone 文件并加入到 iptables 中:

 代码如下 复制代码

#!/bin/bash
# Block traffic from a specific country
# written by vpsee.com

COUNTRY = “cn”
IPTABLES = /sbin/iptables
EGREP = /bin/egrep

if [ "$(id -u)" != "0" ]; then
echo “you must be root” 1>&2
exit 1
fi

resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}

resetrules

for c in $COUNTRY
do
country_file = $c.zone

IPS = $($EGREP -v “^#|^$” $country_file)
for ip in $IPS
do
echo “blocking $ip”
$IPTABLES -A INPUT -s $ip -j DROP
done
done

exit 0

时间: 2024-09-14 12:19:37

linux中iptables 防火墙简单设置的相关文章

linux中iptables防火墙怎么设置

当新配置了一台linux的服务器时,如果需要配置iptables,一般按照以下命令进行配置: 一,安装并启动防火墙 [root@linux ~]# /etc/init.d/iptables start 当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以CentOS为例,文件地址是/etc/sysconfig /iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了. 1.加载模块 /s

linux中iptables防火墙常规设置

当新配置了一台linux的服务器时,如果需要配置iptables,一般按照以下命令进行配置: 一,安装并启动防火墙 [root@linux ~]# /etc/init.d/iptables start 当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以CentOS为例,文件地址是/etc/sysconfig/iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了. 1.加载模块 /sb

Linux系统iptables防火墙怎么设置

安装iptables防火墙 如果没有安装iptables需要先安装,CentOS执行: yum install iptables Debian/Ubuntu执行: apt-get install iptables 星期九所在的VPS上iptables设置为: *nat :PREROUTING ACCEPT [7978:1018059] :POSTROUTING ACCEPT [9376:593102] :OUTPUT ACCEPT [9376:593102] -A POSTROUTING -s

Linux中iptables防火墙指定端口范围

我需要700至800之间的端口都能tcp访问  代码如下 复制代码 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 700 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 701 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tc

linux中iptables防火墙设置学习笔记

以下内容总结自鸟哥的 Linux 私房菜 -- 服务器(第三版),同时推荐喜欢Linux的同学们学习阅读. For Linux Kernel 2.6+ I. 图解防火墙 图解防火墙 上面的图示很复杂喔!不过基本上你依旧可以看出来,我们的 iptables 可以控制三种封包的流向: 封包进入 Linux 主机使用资源 (路径 A): 在路由判断后确定是向 Linux 主机要求数据的封包,主要就会透过 filter 的 INPUT 链来进行控管: 封包经由 Linux 主机的转递,没有使用主机资源,

linux中iptables防火墙劫持并拦截DNS查询53端口实现转向

企业内网中经常会有这样的需求,比如说业务服务器的IP地址为192.168.6.25,大家也就习惯于访问这个地址了,运维也很厚道的将某个域名解析到这个IP地址,这样大家也就不必记住繁琐的IP地址,同时运维也很方便的将业务服务器由192.168.6.25的主机迁移到192.168.6.26的主机而无需通知客户端更改地址,这也是域名发挥的作用,好了,现在问题来了:-) 客户说我们企业很小,不想另外购买域名,好吧,每年五十几块也是一笔费用,而且购买域名后还需要有人维护,比如要记得续费什么的,略麻烦.同样

Linux中iptables防火墙配置指南

一.安装软件 我们购买的VPS,一般都已经预装iptables,可以先检查下iptables状态,确认是否安装. service iptables status若提示为iptables:unrecognized service,则需要安装.yum install iptables   #CentOS系统apt-get install iptables    #Debian系统二.配置规则以下命令我们以CentOS为例,敬请留意.安装好的iptables配置文件在/etc/sysconfig/ip

Linux中禁止PING简单设置方法

方法之一.修改文件 我们需要vi /proc/sys/net/ipv4/icmp_echo_ignore_all文件,这个文件夹默认就一个0,如果需要设置禁止PING,把0改成1,这样就设置完毕. 或者我们直接写入设置禁止PING echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果是启动则是 echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 需要注意的是,如果用这个方法会使得我们无法PING别人

Linux中字符模式下设置和删除环境变量?

Linux中字符模式下设置和删除环境变量? bash下 设置:export 变量名=变量值删除:unset 变量名 csh下 设置:setenv 变量名 变量值删除:unsetenv 变量名