Shell脚本实现防止国外ip访问服务器

2014-11-27  来源:本站原创  分类:linux shell  人气:10 

这篇文章主要介绍了Shell脚本实现防止国外ip访问服务器,本文通过分析使用IP地址库,然后把国外IP指导入iptables并禁止访问实现,需要的朋友可以参考下

客户的要求,不想让外国的ip来访问服务器,本来要让机房在上端路由解决,但是那些人不鸟你!!!~~~~
这样的话,只能自己用iptables解决了~~~~~~~~~
关于 ip库 大家可以去 http://www.ipdeny.com/ipblocks/ 下载, 这里有各个国家的~~~

#下载ip库

#wget http://rfyiamcool.googlecode.com/files/allip.txt

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

#把分号去掉

sed -i 's/;$//' allip.txt

#把ip端调出来

for i in `cat cn.zone`

do

echo "iptables -A INPUT -s $i -j ACCEPT" >>iptables.sh

done

cat iptables.sh

Shell脚本实现防止国外ip访问服务器

把这个脚本做下优化,在iptables.sh前面加上下面的命令!

复制代码 代码如下:

#!/bin/bash

ziji="222.173.13.5"

iptables -F

iptables -X

iptables -Z

iptables -t nat -F 

iptables -t mangle -F 

modprobe iptable_nat

modprobe ip_nat_ftp

modprobe ip_nat_irc

modprobe ip_conntrack

modprobe ip_conntrack_ftp

modprobe ip_conntrack_irc

modprobe ipt_limit

modprobe ipt_recent ip_list_tot=16384

modprobe ip_conntrack hashsize=16384

echo "1024  63000" > /proc/sys/net/ipv4/ip_local_port_range

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle

echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

echo "1" >/proc/sys/net/ipv4/conf/all/log_martians

echo "1" >/proc/sys/net/ipv4/tcp_syncookies

echo "2" >/proc/sys/net/ipv4/tcp_synack_retries

echo "5000" >/proc/sys/net/ipv4/tcp_max_syn_backlog

echo "3" >/proc/sys/net/ipv4/tcp_syn_retries

echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle

echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout

echo "1800" > /proc/sys/net/ipv4/tcp_keepalive_time

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -P INPUT DROP

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

/sbin/iptables -t nat -P PREROUTING ACCEPT

/sbin/iptables -t nat -P POSTROUTING ACCEPT

iptables -A INPUT -s $ziji -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

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

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

下面是效果图~~~~~~~~~~~~~~~~(刚才把主机关机了,大家国内也是ping不了的 O(∩_∩)O~)

Shell脚本实现防止国外ip访问服务器

相关文章
  • Shell脚本实现防止国外ip访问服务器 2014-11-27

    这篇文章主要介绍了Shell脚本实现防止国外ip访问服务器,本文通过分析使用IP地址库,然后把国外IP指导入iptables并禁止访问实现,需要的朋友可以参考下 客户的要求,不想让外国的ip来访问服务器,本来要让机房在上端路由解决,但是那些人不鸟你!!!~~~~ 这样的话,只能自己用iptables解决了~~~~~~~~~ 关于 ip库 大家可以去 http://www.ipdeny.com/ipblocks/ 下载, 这里有各个国家的~~~ #下载ip库 #wget http://rfyiam

  • Shell脚本实现自动修改IP地址 2014-04-02

    这篇文章主要介绍了Shell脚本实现自动修改IP地址,本文直接给出实现代码,并在代码中标注大量注释,需要的朋友可以参考下 作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名.ip信息.网关等配置.修改成特定的主机名在维护和管理方面也比较方便.如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三! #!/bin/sh #auto Change ip netmask ga

  • Shell脚本实现自动修改IP.主机名等功能分享 2014-08-11

    这篇文章主要介绍了Shell脚本实现自动修改IP.主机名等功能分享,本文直接给出实现代码,需要的朋友可以参考下 作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名.ip信息.网关等配置.修改成特定的主机名在维护和管理方面也比较方便.如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三! #!/bin/sh #auto Change ip netmask gateway

  • Shell脚本实现检测某ip网络畅通情况(含短信报警功能) 2014-12-12

    这篇文章主要介绍了Shell脚本实现检测某ip网络畅通情况(含短信报警功能),本文脚本针对一个服务器IP进行检查,也可改造一下,执行个多个IP的检查,需要的朋友可以参考下 花了1天的时间写了一个检测某ip是否网络畅通的脚本,只检测网络是否畅通的功能很容易实现,但加了一些限制功能却不好实现. #!/bin/bash #################################################################################### #本脚本放于异

  • Shell脚本获取本地网卡IP.mac地址.子网掩码.dns IP.外网IP 2015-02-05

    这篇文章主要介绍了Shell脚本获取本地网卡IP.mac地址.子网掩码.dns IP.外网IP,本文直接给出实现代码,需要的朋友可以参考下 #/usr/bin/env bash # Name: get_network_info.sh # Author: Purple_Grape # This is a script to gather network information of your Linux system. # Test under Ubuntu 10.04 only. #------

  • shell脚本获取网卡的IP 2013-07-12

    项目中需要用到的 /sbin/ifconfig eth0 | awk '/inet/ {print $2}' | cut -f2 -d ":" |awk 'NR==1 {print $1}' 会打印eth0的ip地址

  • shell脚本获取本机IP列表 2013-08-30

    /sbin/ifconfig | grep -i "inet" | grep -iv "inet6" | awk {'print $2'} | sed -ne 's/addr\://p'

  • Linux系统防CC攻击自动拉黑IP增强版(Shell脚本) 2013-10-29

    这篇文章主要介绍了Linux系统防CC攻击自动拉黑IP增强版(Shell脚本),需要的朋友可以参考下 前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护. 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉

  • Shell脚本实现分析apache日志中ip所在的地区 2013-12-26

    这篇文章主要介绍了Shell脚本实现分析apache日志中ip所在的地区,本文使用了一款nali工具实现,需要的朋友可以参考下 查询ip地址所用的组件 wget http://rfyiamcool.googlecode.com/files/nali-0.1.tar.gz tar zxvf nali-0.1.tar.gz cd nali-0.1 ./configure && make && make install 步骤和nginx是差不多的,只是取日志里面的ip地址的方法不

  • 检测网段IP使用情况的shell脚本 2014-01-24

    检测网段IP使用情况的shell脚本,有需要的朋友可以参考下 #!/bin/bash #main--- network=192.168.1 ping_count=3 IP=1 :>IP_use :>IP_idle :>ping_action echo "`date "+%Y%m%d %H:%M:%S"`----->脚本开始执行......" while [ $IP -lt 255 ] do host=$network.$IP echo &qu

  • Shell脚本实现非法IP登陆自动报警 2014-02-12

    这篇文章主要介绍了Shell脚本实现非法IP登陆自动报警,本文实现非指定IP段登录服务器时使用邮件报警,需要的朋友可以参考下 服务器的安全稳定是每个运维都希望达到的目标,毕竟网站一旦流量大了,访问高了,就会有一些无聊人来攻击,帮忙检测漏洞是好,但纯ddos的性质就很恶劣了.说远了,这篇文章只是检测有非法ip登录到服务器上就自动给运维报警,当然也可以改成短信报警,前提是你有短信网关. #!/bin/bash #该脚本作用是检测是否有恶意IP登陆服务器并邮件报警 #可以结合139邮箱以达到短信及时通

  • linux下统计appche站点IP访问量的shell脚本 2014-03-30

    这篇文章主要介绍了linux下统计appche站点IP访问量的几种shell脚本以及执行结果 经常需要根据IP地址统计apache站点访问量,最基本的脚本. 根据IP访问量降序排列: #!/bin/bash #Script_name: access_count acc_log=/usr/local/apache2/logs/access_log /bin/awk '{print $1}' $acc_log | sort | uniq -c | sort -nr 执行效果: 复制代码 代码如下:

  • Shell脚本判断IP地址是否合法的方法 2014-05-11

    这篇文章主要介绍了Shell脚本判断IP地址是否合法的方法,需要的朋友可以参考下 使用shell校验IP地址合法性 使用方法: [[email protected] python]# bash check_ip.sh IP地址 执行结果:返回值0校验合法,非0不合法. shell代码: 复制代码 代码如下: [[email protected] python]# vi check_ip.sh #!/usr/bin/sh CheckIPAddr() { echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{

  • Shell脚本实现IP地址合法性判断 2014-09-20

    这篇文章主要介绍了Shell脚本实现IP地址合法性判断,本文给出了实现代码和运行代码,需要的朋友可以参考下 做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精深的一个技术领域,这里为了学习,就写一个简单的判断IP地址是否合法的微型脚本程序,这个小程序也是非常有用的. IP地址是32位的,可以由4个十进制数值表示,每个数值的范围都是0~255. #!/bin/bash # Test an IP address for validity: # Usage: #

  • Shell脚本配合iptables屏蔽来自某个国家的IP访问 2014-12-12

    这篇文章主要介绍了Shell脚本配合iptables屏蔽来自某个国家的IP访问,本文利用IPdeny的IP数据,然后用Shell脚本导入iptables实现屏蔽IP访问,需要的朋友可以参考下 星期六我们一位客户受到攻击,我们的网络监测显示有连续6小时的巨大异常流量,我们立即联系了客户,没有得到回应,我们修改和限制了客户的 VPS,使得个别 VPS 受攻击不会对整个服务器和其他 VPS 用户造成任何影响,我们一直保持这个 VPS 为开通状态(尽管一直受攻击),攻击又持续了24小时,星期天攻击仍在继

  • Shell脚本实现检查服务器安全状态(用户.登录IP.防火墙检查) 2014-12-23

    这篇文章主要介绍了Shell脚本实现检查服务器安全状态,本文主要检查3个方面,分别是系统用户检查.登录IP检查.防火墙状态检查,需要的朋友可以参考下 说明:大家平时对Linux服务器安全主要是对系统用户的检查,登陆服务器IP检查,以及防火墙状态检查! 1.需要把正确系统用户名存储在/root/liu_shell/local_user.txt文件中,然后进行比较! 2.对登陆IP判断是不是以192.168.1和192.168.2开头的IP为正常IP! 3.判断iptables状态! #!/usr/

  • Shell脚本中获取本机ip地址的3个方法 2015-04-07

    这篇文章主要介绍了Shell脚本中获取本机ip地址的3个方法,本文直接给出实现代码,需要的朋友可以参考下 方法一: /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" or /sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/\1/p' 方法二: 复制代码 代码如下: local_

  • Shell脚本实现硬盘空间和表空间的使用情况统计并邮件通知 2013-10-13

    这篇文章主要介绍了Shell脚本实现硬盘空间和表空间的使用情况统计并邮件通知,其中表空间是指oracle数据库里的表空间,需要的朋友可以参考下 #/bin/bash #该脚本用于统计硬盘空间和表空间的使用情况,并邮件发出 #初始化环境变量 source /home/oracle/.bash_profile #获得本机ip ip=`/sbin/ifconfig eth0 | grep Bcast | cut -d : -f 2 | cut -d " " -f 1` #切换到本脚本目录 c

  • 一个强大的网络分析shell脚本分享(实时流量.连接统计) 2013-12-17

    这篇文章主要介绍了一个强大的网络分析shell脚本分享,此脚本包含实时流量统计.连接统计强大功能,需要的朋友可以参考下 介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介绍下. 脚本运行效果截图: 此脚本包含的功能有: 1.实时监控任意网卡的流量 2.统计10秒内平均流量 3.统计每个端口在10秒内的平均流量,基于客户端和服务端端口统计.可以看出哪些端口占流量比较大,对于web服务器,一般是80端口.其它端口受到攻击时,也有可能其它端口流量比较大.所以此功

  • shell脚本监控系统负载.CPU和内存使用情况 2014-02-17

    这篇文章主要介绍了shell脚本监控系统负载.CPU和内存使用情况,本文分别给出监控服务器系统负载情况.监控系统cpu使用情况..监控系统内存情况.监控系统交换分区swap使用情况的脚本,需要的朋友可以参考下 在没有nagios监控软件的情况下,只要服务器能上互联网,就可通过发邮件的方式来提醒管理员系统负载与CPU占用的使用情况. 一.安装linux下面的一个邮件客户端msmtp软件(类似于一个foxmail的工具) 1.下载安装: http://downloads.sourceforge.ne