和云彩个人设置电脑防火墙在哪里设置

全球最新的免费资源发布区
网易LOFTER免费空间可自定义模板绑定个人域名和设置个性登录面方法
& 日 16:52 &
网易LOFTER就是网易轻博客,为什么网易要起个这么“难记”的名字呢?因为网易轻博客的目标群体定位在当代艺术家,潮流青年,视觉表达爱好者等。所以,假如你像我一样,看了无数遍这个单词还是忘记怎么拼写的,那还是改用吧。
和点点网空间的大众化相比,网易LOFTER显得过于“小众”了,从LOFTER这个名字来看基本上就可以“撇开”许多人了,例如不少人可以直接打出这样的拼音域名,但是却不知道怎么拼写这样的“洋文”域名。
LOFTER是网易2011年8月下旬推出的一款轻博客,虽然LOFTER官方并没有说自己是一个空间,但是至少在一定程度上可以把LOFTER当成一个博客空间,这样的国内博客空间最大的好处就是网页打开速度快,比较适合那些不愿意使用虚拟主机的朋友搭建一个个性博客。
支持自定义模板,但是可以修改的地方有限制,不允许自己修改CSS和Html代码,可以上传图片,但不允许直接上传音乐、视频等,只能使用外链音乐或者视频地址。支持绑定自己个人域名,但是审核通过时间未知(有长有短)。
网易LOFTER是在上一次介绍的文章时有朋友推荐可以试用一下,总得来说,网易LOFTER就是一个博客空间,个性与高端化十足,但是对网易LOFTER不允许修改CSS等比较遗憾,希望网易LOFTER在以后的发展中开发出更多的博客功能来。
如果你对国内的比较感兴趣的话,可以再试试这里的:
1、百度BAE:
2、新浪云商店:
3、点点网空间:
网易LOFTER免费空间可自定义模板绑定个人域名和设置个性登录面方法
一、网易LOFTER博客空间申请注册
1、网易LOFTER官网:
1、官方首页:
2、进入官网后,输入自己的邮箱和密码注册一个账号。
3、然后就是设置一个免费的二级域名。
4、提交后,你就成功注册了网易LOFTER了,进入管理页面,主要功能有三部分。(点击放大)
5、左边是发布文章、上传图片、发布音乐、视频的。右上方就是空间相关的设置,右边显示你的博客相关信息。
二、网易LOFTER自定义空间模板
1、点击“博客设置”,就可以进入自定义外观了,博客信息里可以上传头像、修改博客名称、博客介绍和绑定域名等。
2、模板选择里面,就可以选择一个网易LOFTER主题了,有点像QQ空间换皮肤一样。(点击放大)
3、模板自定义只允许修改背景色、设置页面显示文章数量和修改顶部图片,如下图:
4、你可以将你自己的Logo上传到网易LOFTER中。
5、最后你可以在版权处,为你上传的图片自动添加水印。
三、网易LOFTER绑定自己的顶级域名
1、绑定域名到网易LOFTER,方法也比较简单,先到你的域名管理处域名的CNAME记录,记录值设置为“”。
2、等到域名解析生效后,打开网易LOFTER域名绑定地址:/domain
3、填入你的域名,还有你的网易LOFTER空间,输入用户真实信息,点击提交。
4、最后就是等待网易LOFTER审核通过了,通过后会有消息通知你。我大概花了半个月以上才审核通过。
四、网易LOFTER设置生成个性化登录页面
1、所谓个性化的登录页面,就是你可以拥有一个属于你自己的网易LOFTER登录页面。
2、通俗地讲,你可以为网易LOFTER登录更换一个背景,其它的没有什么了。。。
4、想要设置一个个性化的登录页面,请点击发布图片,标签设置为:首页交给你,(吐槽一下:这标签名字咋一看怎么总感觉有点别扭呢)
5、点击发布后,你就可以得到一个网易LOFTER链接地址了,打开这个链接地址就是你以后的网易LOFTER登录地址了。
五、网易LOFTER空间演示
1、默认首页:
2、绑定域名:
3、个性首页:/login/freehao123/2397526
4、图片外链:(测试结果居然是不支持,这网易真是“大家”却“小家子气”)
六、网易LOFTER使用小结
1、网易LOFTER虽然可以发布音乐,但是不能直接上传音乐文件,也就是无法使用像点点网那样的音乐外链了。
2、网易LOFTER域名绑定我等待审核通过的时间有些长了,9月份申请的10月份才通过,不过也有朋友说绑定域名很快的。
文章出自:
版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
真的,我猜你也会喜欢的:
您或许对下面这些文章有兴趣:&&&&&&&&&&&&&&&&&&&&本月吐槽辛苦排行榜
免费资源部落博客、论坛、问答和优惠网的创建者
经常混迹于各种免费资源中,尝鲜后乐于分享给他人。用WP搭建了部落博客,没事儿就折腾Wordpress,喜欢找免费空间,但只求精,稳定,耐用。有时也会介绍一点关于建站的知识和主机、服务器的使用心得与体会。PS:此人为男。
TA的专栏:&&|&&
关于本文的作者
所属分类:
链接地址:
浏览前页:
浏览后页:
部落快速搜索栏
热门点击排行榜
网站导航栏
免费资源重点推荐
最新文章推荐
部落最新评论列表
不得不看的秘密
部落本月最受关注的热点
(热度308℃) (热度275℃) (热度152℃) (热度105℃) (热度105℃) (热度97℃) (热度89℃) (热度86℃) (热度83℃) (热度79℃) (热度78℃) (热度73℃) (热度64℃) (热度62℃) (热度56℃) (热度50℃) (热度49℃)
部落本月踩得最多的宝贝
(踩16,530次) (踩10,710次) (踩10,170次) (踩7,360次) (踩6,410次) (踩4,980次) (踩4,380次) (踩3,240次) (踩3,020次) (踩2,930次)
免费资源部落,是一个致力发布和推广来自世界各地的免费资源,包括多样实用的免费空间、各种优秀的免费软件、各样可用的免费网盘等个人博客网站。站长qi是一位很普通不过的人,长期关注网络空间、互联网、软件应用、程序开发与设计、网络应用等。免费资源部落成立的目的就是希望与更多人分享网络快乐与精彩!本站持续修改完善中,如遇不便还请谅解^_^当前访客身份:游客 [
Life is short - you need Python
:引用来自“lln133208”的评论问题是VPS被GFW墙了...
:问题是VPS被GFW墙了怎么办?
:懒得重构了 丢了份使用的代码片段进去
:引用来自“pfma”的评论哥们,我这两天也遇到了s...
:关键没有海外服务器
: 用过不少 就这个不错。。。...
:过几天你的海外服务器就被封掉了
:我也用rkidc.net,感觉不错,顶一下!
今日访问:16
昨日访问:45
本周访问:557
本月访问:1954
所有访问:33640
让ueditor和又拍云搞基(form api,java)
发表于2年前( 14:01)&&
阅读(1052)&|&评论()
0人收藏此文章,
ueditor月又拍云结合,主要是表单api.
又拍云和ueditor集成
图片上传选择又拍云的form api,这种方式图片上传就直接走又拍云服务器,不经过自己服务器。不过form api的sdk现在在又拍云官网只有php版,java版的有一个android的form sdk,没办法,只能自己搞了。
图片上传可以指定任意文件夹
使用ueditor图片上传里面的图片上传和在线管理两个功能
第一步:最简单的试炼
根据官网api实例,如果用form的话需要policy,signature,file这几个字段,action的路基为又拍云上传图片路径加bucket
"http://v0./"+data["bucket"]
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&form id="upyun_form" action="dd"
method="post" enctype="multipart/form-data"&
&!-- 需要传递以下三个表单内容 --&
&input id="upyun_policy" type="hidden" name="policy" value="pl"&
&input id="upyun_signature" type="hidden" name="signature" value="si"&
&input type="file" name="file"&
&input type="submit" value="上传"&
&script type="text/javascript" src="/justforfun/lib/js/jquery.min.js"&&/script&
&script type="text/javascript" &
$(function(){
$.getJSON("/justforfun/upyun",function(data){
$("#upyun_form").attr("action","http://v0./"+data["bucket"]);
$("#upyun_policy").val(data["policy"]);
$("#upyun_signature").val(data["signature"]);
为什么要用ajax呢,因为文档中说了,policy和signature需要压缩加密,所以需要在后台搞一下。加密的话下载官网上Android的SDK,借用里面几个文件。就是下面标红的地方,因为我用的是spring MVC,搞json的时候用的是jackson这个包,不过sdk里面用的是json-lib,因此修改了下Util那个文件里面json的转换方式,别的地方没改。
ok,写一个上传的类。
参数说明:
callbackMethod 对应下面两个方法,一个是get同步回调,一个是post异步回调,测试中post不知到为什么没搞成功,所用用return-url。
callBackUrl回调的绝对路径:http://localhost:8080/XXX/upyun/callback
bucket不必解释了,apiKey需要在又拍云设置,首先启用表单API功能,然后就可一获得密钥了。
方法解释:
getSignature是api里面规定的,直接调用Util的signature方法,并将生成的policy和apiKey用&链接搞进去。
UpYunUtils.signature(policy + "&" + API_KEY);
getSaveKey是保存图片时候的图片保存在bucket下的文件夹名字加文件名,api中有几种pattern,例如我使用的是32位随机字符串+后缀 "{random32}{.suffix}"
genarateUpyunEntity则是最主要的方法,返回一个UpyunEntity是为了能直接用spring MVC搞json方便来的。
package com.
import java.io.F
import java.util.*;
import mons.logging.L
import mons.logging.LogF
* UEditor文件上传辅助类,上传至又拍云。
public class UpYunUploader {
private static Log logger = LogFactory.getLog(UpYunUploader.class);
//回调的方法,见又拍云api
private String callBackM
//回调时调用路径,注意使用绝对路径
private String callBackU
//又拍云的bucket
//又拍云bucket中的apikey
private String apiK
public UpYunUploader(String callBackMethod, String callBackUrl,
String bucket, String apiKey) {
this.callBackMethod = callBackM
this.callBackUrl = callBackU
this.bucket =
this.apiKey = apiK
// TODO:save_flooder传值
public UpYunEntity genarateUpyunEntity(String saveFolder)
throws UpYunException {
String expiration = ((Long) (System.currentTimeMillis() / 1000 + 1000 * 5 * 10))
.toString(); // 过期时间,必须大于当前时间
String saveKey = getSaveKey(saveFolder, "{random32}{.suffix}");
HashMap&String, Object& params = new HashMap&String, Object&();
params.put(callBackMethod, callBackUrl);
// TODO:DELETE
("callBackUrl:" + callBackUrl);
String policy = UpYunUtils.makePolicy(saveKey, expiration, bucket,
String signature = getSignature(policy, apiKey);
return new UpYunEntity(bucket, policy, signature);
public String getSaveKey(String saveFloder, String pattern) {
return File.separator + saveFloder + File.separator +
public String getSignature(String policy, String API_KEY) {
return UpYunUtils.signature(policy + "&" + API_KEY);
package com.
import lombok.D
public @Data
class UpYunEntity {
public UpYunEntity() {
public UpYunEntity(String bucket, String policy, String signature) {
this.bucket =
this.policy =
this.signature =
controller
这个controller是在我修改完ueditor之后的版本,因此为了能方便指定保存的路径,加了一个upYunSaveFolder的参数,和之前html里面有点不太对应,凑合这看吧。逻辑就是这样一个逻辑。图片上传前,需要服务器生成一个policy和signature的加密字段,里面包含了apikey,保存路径,此次操作过期时间等等。
package com.
import java.io.F
import java.util.L
import javax.annotation.R
import mons.logging.L
import mons.logging.LogF
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.ResponseB
import org.springframework.web.context.request.WebR
import com.upyun.UpYun.FolderI
@Controller
@RequestMapping("/upyun")
public class UpYunController {
private static Log logger = LogFactory.getLog(UpYunController.class);
public static final String CALL_BACK = "/upyun/callback";
private UpYunU
private UpYun upY
@RequestMapping(method = RequestMethod.GET, params = { "upYunSaveFolder" })
public @ResponseBody
UpYunEntity up(String upYunSaveFolder) throws UpYunException {
return uploader.genarateUpyunEntity(upYunSaveFolder);
@RequestMapping("/callback")
public @ResponseBody
UeditorCallBackEntity callBack(UpYunCallBackEntity upyunImage,
WebRequest request) {
// TODO:delete
(CALL_BACK + upyunImage);
return new UeditorCallBackEntity(upyunImage);
@RequestMapping(value = "imageManager", params = { "upYunSaveFolder" })
public @ResponseBody
String imageManager(String upYunSaveFolder) {
List&FolderItem& list = upYun.readDir(upYunSaveFolder);
StringBuffer buffer = new StringBuffer();
for (FolderItem fi : list) {
buffer.append("/");
buffer.append(fi.name);
buffer.append("ue_separate_ue");
String imgStr = buffer.toString();
if (!imgStr.equals("")) {
imgStr = imgStr.substring(0, imgStr.lastIndexOf("ue_separate_ue"))
.replace(File.separator, "/").trim();
// TODO:delete
return imgS
第二部:ueditor好基友
要的是这个框框啊最后。
原来的修改功能不要了,图片上传ueditor用的是swfupload,为了和又拍云整合,需要改下面几个文件。(image那两个文件在dialogs/image下)
ueditor.all.js(上传完成确定后,取消点击图片后修改的链接)
image.js(为了能够根据不同的文件夹做在线管理,在原来的ajax那里多传了一个参数)
image.html(为了和又拍云结合,将需要的参数传过去,postParams里面加了几个参数,并且去掉了百度图片搜索和图片修改的html)
ueditor.config.js(ueditor的配置文件,改了不少地方)
首先是config.js
在UEDITOR_CONFIG上面先存几个变量,注意visitPath和uploadPath的区别.
访问图片时是visitPath+/文件夹/图片.jpg
var upyunVisitPath = "http://practicephotos./";
var upyunUploadPath = "http://v0./";
var BUCKET = "practicephotos";
// saveFolder上传到又拍云的文件夹,应根据同用户在session中或者什么地方传值,
//注:saveFolder是为了upYunSaveFolder和imageManagerPath而存在的临时变量
var saveFolder = "uploadimagetest";
* 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
* UEDITOR_CONFIG的配置都可以在js中动态修改
* editor.options.XXX = ""
window.UEDITOR_CONFIG = {
// 为编辑器实例添加一个路径,这个不能被注释
UEDITOR_HOME_URL : URL,
imageFieldName改为“file”,对应的image.html中也有修改,因为又拍云里面图片的字段必须是“file”。
// 图片上传地址:又拍云上传路径加bucket
imageUrl : upyunUploadPath + BUCKET
//图片修正地址,后台会自动加上保存文件夹和图片路径/XXX/XXX.jpg
//因此修正路径只加上又拍云的&strong&访问路径&/strong&即可
imagePath : upyunVisitPath // 图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
// 集成又拍云 需要修改这里和image.html里面的upfile
imageFieldName : "file" // 图片数据的key,若此处修改,需要在后台对应文件修改对应参数
注意在线管理里面修正路径与图片上传的不同。
// 图片在线管理配置区
imageManagerUrl : projectName + "/upyun/imageManager" // 图片在线管理的处理地址
//图片管理修正路径,与图片上传修正不同,后台不会生成目录,因此需要自己加生
//&strong&访问路径&/strong&和保存文件夹
imageManagerPath : upyunVisitPath + saveFolder // 图片修正地址,同imagePath
, ueditor.all.js,ctrl+f找图片修改,找到下面的地方,str,上线的时候自己压缩下js。
//TODO:如果还想要修改功能的话,下面注释的东西应该放回去
//移除了图片修改功能
//'&span onclick="$$._onImgEditButtonClick(\'' + dialogName + '\');" class="edui-clickable"&' + editor.getLang("modify") + '&/span&
str = '&nobr&' + editor.getLang("property") + ': '+
'&span onclick=$$._onImgSetFloat("none") class="edui-clickable"&' + editor.getLang("default") + '&/span&&&' +
'&span onclick=$$._onImgSetFloat("left") class="edui-clickable"&' + editor.getLang("justifyleft") + '&/span&&&' +
'&span onclick=$$._onImgSetFloat("right") class="edui-clickable"&' + editor.getLang("justifyright") + '&/span&&&' +
'&span onclick=$$._onImgSetFloat("center") class="edui-clickable"&' + editor.getLang("justifycenter") + '&/span&&/nobr&';
image.html
找到tabHeads,删掉不要的东西。
&div id="tabHeads" class="tabhead"&
&span tabSrc="local" class="focus"&&var id="lang_tab_local"&&/var&&/span&
&span tabSrc="imgManager"&&var id="lang_tab_imgManager"&&/var&&/span&
在下面随便一个地方存一下两个hidden的input,以满足又拍云,当然,这不是用来上传的。
&input id="upyun_policy" type="hidden" name="policy" /&
&input id="upyun_signature" type="hidden" name="signature" /&
在他原来的js上加一段ajax,注意imageFieldName改成file,与config.js里面对应。ajax传的data里面有一个upYunSaveFolder : editor.options.upYunSaveFolder,就是用这个变量来改变保存路径的,如何调用后面再说。
&script type="text/javascript"&
$($.getJSON("/justforfun/upyun", data = {
upYunSaveFolder : editor.options.upYunSaveFolder
}, function(data) {
$("#upyun_policy").val(data["policy"]);
$("#upyun_signature").val(data["signature"]);
//全局变量
var imageUrls = [], //用于保存从服务器返回的图片信息数组
selectedImageCount = 0; //当前已选择的但未上传的图片数量
editor.setOpt({
imageFieldName : "file",
compressSide : 0,
maxImageSideLength : 900
传递表单的附加参数,需要postParams中加值(在$G("upload").onclick那里)。首先在flashOptions中找到ext,注释掉这一行,不知道为什么,只有注释掉这行之后才能传postParams里面的参数。
var postParams = {
"dir" : baidu.g("savePath").value,
"policy" : $("#upyun_policy").val(),
"signature" : $("#upyun_signature").val()
}; image.js
在这里搜imageManagerUrl,找到这个ajax,填上data{upYunSaveFolder这一行}。
ajax.request(editor.options.imageManagerUrl, {
timeout:100000,
action:"get",
upYunSaveFolder: editor.options.upYunSaveFolder
onsuccess:function (xhr) { 前台调用,1、初始话的时候可以在getEditor的时候设置upYunSaveFolder,注意imageManagerPath一定要设置。2、在任何用到js的地方都可以修改editor.options.XXX属性,这里的话XXX就是upYunSaveFolder。
&script type="text/plain" id="editor" name="content" style="width: 680height:200"&
${(content)!""}
&script type="text/javascript"&
var uySaveFloder ="test";
var editor = UE.getEditor('editor',{wordCount:true,maximumWords:800,upYunSaveFolder:uySaveFloder,imageManagerPath:"http://practicephotos./"+uySaveFloder});
//editor.options.imageManagerPath="";
&/script& 上传成功之后又拍云会返回又拍云的一些状态码,和ueditor里面的状态码并不对应。
首先是controller里面的回调方法,再贴一下。至于@Data注解和为什么没写get set方法,请见.
UeditorCallBackEntity状态码可以参照ueditor里面Upload.java和imageUp.jsp来搞。
UpYunCallBackEntity则根据又拍云文档里面回调的东西来做。注意文档中的那句话:加密的话即使是图片空间也不会返回图片宽高那些参数。
@RequestMapping("/callback")
public @ResponseBody
UeditorCallBackEntity callBack(UpYunCallBackEntity upyunImage,
WebRequest request) {
// TODO:delete
(CALL_BACK + upyunImage);
return new UeditorCallBackEntity(upyunImage);
package com.
import lombok.D
* response.getWriter().print("{'original':'"+up.getOriginalName()+
* "','url':'"+up.getUrl()+ "','title':'"+up.getTitle()+
* "','state':'"+up.getState()+"'}");
public @Data
class UeditorCallBackEntity {
public UeditorCallBackEntity(UpYunCallBackEntity upyunImage) {
url = upyunImage.getUrl();
state = transUpYunCodeToUeState(upyunImage.getCode(),
upyunImage.getMessage());
private String transUpYunCodeToUeState(String code, String msg) {
String defaultState = "未知错误";
if (code == null) {
return defaultS
if (code.equals("200")) {
return "SUCCESS";
package com.
import lombok.D
* {"code":200, "message":"ok", "url":"\/test\/3.jpg",
* "time":, "image_width":900, "image_height":506, "image_frames":1,
* "image_type":"JPEG", "sign":"fab7c454ea8e54efdeacafd"}
public @Data
class UpYunCallBackEntity {
首先把又拍云的java sdk搞下来,把里面的UpYun放到工程里面。配置一个bean,把之前的upYunUploader一起贴在这。
在线管理,原来的imageManger.jsp里面是遍历上传图片的文件夹,然后会进行路径处理,重写这个方法。最初他会获得文件下的所有文件,然后字符串拼接成/XXX.jspue_separate_ue/XXX.jspue_separate_ue这种形式,还记得config.js里面的在线管理图片修正路径么?例如修正路径AAA,ueditor最终会把/XXX.jspue_separate_ue/XXX.jspue_separate_ue处理成AAA/XXX.jsp AAA/XXX.jspue_separate_ue这种样子。而且需要是个json。
controller处理方法
@RequestMapping(value = "imageManager", params = { "upYunSaveFolder" })
public @ResponseBody
String imageManager(String upYunSaveFolder) {
List&FolderItem& list = upYun.readDir(upYunSaveFolder);
StringBuffer buffer = new StringBuffer();
for (FolderItem fi : list) {
buffer.append("/");
buffer.append(fi.name);
buffer.append("ue_separate_ue");
String imgStr = buffer.toString();
if (!imgStr.equals("")) {
imgStr = imgStr.substring(0, imgStr.lastIndexOf("ue_separate_ue"))
.replace(File.separator, "/").trim();
// TODO:delete
return imgS
至此,ueditor和又拍云整合就结束了。图片上传的配置主要在image.html里面。
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读阿里云服务器安全设置 - jediael_lu的专栏
- 博客频道 - CSDN.NET
4320人阅读
1、开启云盾所有服务
2、通过防火墙策略限制对外扫描行为
请您根据您的服务器操作系统,下载对应的脚本运行,运行后您的防火墙策略会封禁对外发包的行为,确保您的主机不会再出现恶意发包的情况,为您进行后续数据备份操作提供足够的时间。
Window2003的批处理文件下载地址:/aliyunecs/windows2003_drop_port.bat
Window2008的批处理文件下载地址:/aliyunecs/windows2008_drop_port.bat
Linux系统脚本:/aliyunecs/linux_drop_port.sh
上述文件下载到机器内部直接执行即可。
文件内容如下:
#!/bin/bash
#########################################
#Function:
linux drop port
bash linux_drop_port.sh
Customer Service Department
Alibaba Cloud Computing
#########################################
check_os_release()
while true
os_release=$(grep &Red Hat Enterprise Linux Server release&/etc/issue 2&/dev/null)
os_release_2=$(grep &Red Hat Enterprise Linux Server release&/etc/redhat-release 2&/dev/null)
if [ &$os_release& ] && [ &$os_release_2& ]
if echo &$os_release&|grep &release 5& &/dev/null2&&1
os_release=redhat5
echo &$os_release&
elif echo &$os_release&|grep &release 6&&/dev/null 2&&1
os_release=redhat6
echo &$os_release&
os_release=&&
echo &$os_release&
os_release=$(grep &Aliyun Linux release& /etc/issue2&/dev/null)
os_release_2=$(grep &Aliyun Linux release& /etc/aliyun-release2&/dev/null)
if [ &$os_release& ] && [ &$os_release_2& ]
if echo &$os_release&|grep &release 5& &/dev/null2&&1
os_release=aliyun5
echo &$os_release&
elif echo &$os_release&|grep &release 6&&/dev/null 2&&1
os_release=aliyun6
echo &$os_release&
os_release=&&
echo &$os_release&
os_release=$(grep &CentOS release& /etc/issue 2&/dev/null)
os_release_2=$(grep &CentOS release& /etc/*release2&/dev/null)
if [ &$os_release& ] && [ &$os_release_2& ]
if echo &$os_release&|grep &release 5& &/dev/null2&&1
os_release=centos5
echo &$os_release&
elif echo &$os_release&|grep &release 6&&/dev/null 2&&1
os_release=centos6
echo &$os_release&
os_release=&&
echo &$os_release&
os_release=$(grep -i &ubuntu& /etc/issue 2&/dev/null)
os_release_2=$(grep -i &ubuntu& /etc/lsb-release2&/dev/null)
if [ &$os_release& ] && [ &$os_release_2& ]
if echo &$os_release&|grep &Ubuntu 10& &/dev/null2&&1
os_release=ubuntu10
echo &$os_release&
elif echo &$os_release&|grep &Ubuntu 12.04&&/dev/null 2&&1
os_release=ubuntu1204
echo &$os_release&
elif echo &$os_release&|grep &Ubuntu 12.10&&/dev/null 2&&1
os_release=ubuntu1210
echo &$os_release&
os_release=&&
echo &$os_release&
os_release=$(grep -i &debian& /etc/issue 2&/dev/null)
os_release_2=$(grep -i &debian& /proc/version 2&/dev/null)
if [ &$os_release& ] && [ &$os_release_2& ]
if echo &$os_release&|grep &Linux 6& &/dev/null2&&1
os_release=debian6
echo &$os_release&
os_release=&&
echo &$os_release&
os_release=$(grep &openSUSE& /etc/issue 2&/dev/null)
os_release_2=$(grep &openSUSE& /etc/*release 2&/dev/null)
if [ &$os_release& ] && [ &$os_release_2& ]
if echo &$os_release&|grep&13.1& &/dev/null 2&&1
os_release=opensuse131
echo &$os_release&
os_release=&&
echo &$os_release&
exit_script()
echo -e &\033[1;40;31mInstall $1 error,will exit.\n\033[0m&
rm-f $LOCKfile
config_iptables()
iptables -I OUTPUT 1 -p tcp -m multiport --dport21,22,23,25,53,80,135,139,443,445 -j DROP
iptables -I OUTPUT 2 -p tcp -m multiport --dport 21,33,80,18186-j DROP
iptables -I OUTPUT 3 -p udp -j DROP
iptables -nvL
ubuntu_config_ufw()
ufwdeny out proto tcp to any port 21,22,23,25,53,80,135,139,443,445
ufwdeny out proto tcp to any port 21,33,80,18186
ufwdeny out proto udp to any
####################Start###################
#check lock file ,one time only let thescript run one time
LOCKfile=/tmp/.$(basename $0)
if [ -f &$LOCKfile& ]
echo -e &\033[1;40;31mThe script is already exist,please next timeto run this script.\n\033[0m&
echo -e &\033[40;32mStep 1.No lock file,begin to create lock fileand continue.\n\033[40;37m&
touch $LOCKfile
#check user
if [ $(id -u) != &0& ]
echo -e &\033[1;40;31mError: You must be root to run this script,please use root to execute this script.\n\033[0m&
rm-f $LOCKfile
echo -e &\033[40;32mStep 2.Begen tocheck the OS issue.\n\033[40;37m&
os_release=$(check_os_release)
if [ &X$os_release& ==&X& ]
echo -e &\033[1;40;31mThe OS does not identify,So this script isnot executede.\n\033[0m&
rm-f $LOCKfile
echo -e &\033[40;32mThis OS is $os_release.\n\033[40;37m&
echo -e &\033[40;32mStep 3.Begen toconfig firewall.\n\033[40;37m&
case &$os_release& in
redhat5|centos5|redhat6|centos6|aliyun5|aliyun6)
service iptables start
config_iptables
config_iptables
ubuntu10|ubuntu1204|ubuntu1210)
ufwenable &&EOF
ubuntu_config_ufw
opensuse131)
config_iptables
echo -e &\033[40;32mConfig firewallsuccess,this script now exit!\n\033[40;37m&
rm -f $LOCKfile
3、设置iptables,限制访问
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -P INPUT DROP
service iptables save
以上脚本,在每次重装完系统后执行一次即可,其配置会保存至/etc/sysconfig/iptables
此步骤参考/aliyun-iptables.html
由于作为web服务器来使用,所以对外要开放 80 端口,另外肯定要通过ssh进行服务器管理,22 端口也要对外开放,当然最好是把ssh服务的默认端口改掉,在公网上会有很多人试图破解密码的,如果修改端口,记得要把该端口对外开发,否则连不上就悲剧了。下面提供配置规则的详细说明:
第一步:清空所有规则
当Chain INPUT (policy DROP)时执行/sbin/iptables -F后,你将和服务器断开连接
所有在清空所有规则前把policy DROP该为INPUT,防止悲剧发生,小心小心再小心
/sbin/iptables -P INPUT ACCEPT
清空所有规则
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
第二步:设置规则
允许来自于lo接口的数据包,如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1
/sbin/iptables -A INPUT -i lo -j ACCEPT
开放TCP协议22端口,以便能ssh,如果你是在有固定ip的场所,可以使用 -s 来限定客户端的ip
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
开放TCP协议80端口供web服务
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
10.241.121.15是另外一台服务器的内网ip,由于之间有通信,接受所有来自10.241.121.15的TCP请求
/sbin/iptables -A INPUT -p tcp -s 10.241.121.15 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
这条规则参看:/iptables-localhost-not-access-internet.html
/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
屏蔽上述规则以为的所有请求,不可缺少,否则防火墙没有任何过滤的功能
/sbin/iptables -P INPUT DROP
可以使用 iptables -L -n 查看规则是否生效
至此防火墙就算配置好,但是这是临时的,当重启iptables或重启机器,上述配置就会被清空,要想永久生效,还需要如下操作:
/etc/init.d/iptables save
service iptables save
执行上述命令可以在文件 /etc/sysconfig/iptables 中看到配置
以下提供一个干净的配置脚本:
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 10.241.121.15 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -P INPUT DROP
最后执行&,先确保ssh连接没有问题,防止规则错误,导致无法连上服务器,因为没有save,重启服务器规则都失效,否则就只有去机房才能修改规则了。也可以参考:来写一个脚本。
4、常用网络监控命令
(1)&netstat -tunl:查看所有正在监听的端口
[root@AY0375bbZ ~]# netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address
Foreign Address
0 0.0.0.0:22
0 127.0.0.1:123
0 0.0.0.0:123
其中123端口用于NTP服务。
(2)netstat &-tunp:查看所有已连接的网络连接状态,并显示其PID及程序名称。
[root@AY0375bbZ ~]# netstat -tunp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address &#160; &#160; &#160; &#160; &#160; &#160; &#160; Foreign Address &#160; &#160; &#160; &#160; &#160; &#160; State &#160; &#160; &#160; PID/Program name &#160;&#160;
tcp &#160; &#160; &#160; &#160;0 &#160; &#160; 96 ip:22 &#160; &#160; &#160; &#160; &#160; &#160;221.176.33.126:52699 &#160; &#160; &#160; &#160;ESTABLISHED 926/sshd &#160; &#160; &#160; &#160; &#160; &#160;
tcp &#160; &#160; &#160; &#160;0 &#160; &#160; &#160;0 ip:34385 &#160; &#160; &#160; &#160; 42.156.166.25:80 &#160; &#160; &#160; &#160; &#160; &#160;ESTABLISHED 1003/aegis_cli &#160;
根据上述结果,可以根据需要kill掉相应进程。
kill -9 1003
(3)netstat -tunlp
(4)netstat常用选项说明:
-t: tcp &&
-l, --listening
& & & &Show only listening sockets. &(These are omitted by default.)
-p, --program
& & & &Show the PID and name of the program to which each socket belongs.
--numeric , -n
Show numerical addresses instead of trying to determine symbolic host, port or user names.
5、修改ssh的监听端口
(1)修改&/etc/ssh/sshd_config&
原有的port 22
改为port 44
(2)重启服务
/etc/init.d/sshd restart
(3)查看情况
netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address
Foreign Address
0 0.0.0.0:44
0 127.0.0.1:123
0 0.0.0.0:123
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:280474次
积分:4770
积分:4770
排名:第2521名
原创:191篇
转载:77篇
评论:42条
(1)(10)(16)(16)(11)(3)(21)(27)(27)(23)(6)(2)(17)(21)(7)(6)(3)(5)(2)(36)(1)(1)(6)

我要回帖

更多关于 qq的个人设置在哪里 的文章

 

随机推荐