Fix Ubuntu policy-based route with fwmark not work

近期发现Ubuntu基于ip rule add fwmark … lookup …所做的策略路由无法正常使用,而Debian正常。抓包的特征就是,出网数据包能应用到策略路由,也能抓到回应的数据包,但回应的数据包被内核丢弃,不会送达user space。

而ip rule add from … lookup …则正常。

查找资料得知是rp_filter的影响(见此:https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt),继而发现Ubuntu的/etc/sysctl.d是有以下这个文件的:

编辑/etc/sysctl.d/10-network-security.conf,把net.ipv4.conf.default.rp_filter以及net.ipv4.conf.all.rp_filter改成2,然后应用:

 

Debian与Ubuntu下配置LDAP登录身份验证

前几天在两个使用Ubuntu Server 12.04的 VPS上搭建了LDAP环境。

Ubuntu使用LDAP身份验证,仅需从更新源安装libpam-ldap nscd这两个DEB包,

然后根据引导一步步填入信息,再修改下pam的配置文件即可使用。

不过昨天在给两个个使用Debian的虚拟专用服务器使用同样的方法安装并配置LDAP身份验证客户端时,就一直弄不好,总是无法通过验证,从/var/log/auth.log文件可以读取到类似的信息:

谷歌了下有关的资料,但并未找到有效的解决方案。昨天尝尽各种方法折腾了好久……

今天早上起来用search从更新源看了下与ldap有关的DEB包,看到一个libnss-ldap,想起数天前弄pam_mysql时,也要安装一个libnss-mysql,于是尝试安装了这个包。

同样,根据引导一步步填入信息,然后修改pam的配置文件。

再次使用LDAP中已添加的账户登录,成功通过验证。

 

为何有如此差异?

先来看看Ubuntu下安装libpam-ldap nscd这两个包时输出的信息:

再看看Debian下安装libpam-ldap与nscd时输出的信息:

可见,Ubuntu自动安装了数个额外的DEB包,其中包括了libnss-ldap,而Debian是作为建议的DEB包出现,并没有自动安装。相信很多人都和我一样,除非出现错误信息,否则使用apt-get或yum安装东西肯定不会仔细看这些,自然也不会留意到有建议安装的包……

再来看看Debian下安装libnss-ldap时输出的信息:

这就充分说明,在Debian下配置LDAP验证,libnss-ldap这个包是最关键。

 

最后就是配置文件。

Debian下PAM的LDAP验证客户端的配置文件有两个,分别是pam-ldap和libnss-ldap的,他们在以下路径:

密码则在以下两个文件中:

Ubuntu应该是libnss-ldap与pam-ldap共用配置文件,其路径为:

密码文件在此:

 

PPTP自动安装配置Shell Script For Ubuntu/Debian

呵呵,不解释……

使用方法:

执行后会自动列出你服务器的网卡的IP,挑一个外网的:

Server IP

这是添加连接的账号和密码的Shell Script:

添加账号,就执行:

输入账号密码即可……

Good luck……

一次有惊无险的数据恢复

昨晚逛自己博客的时候,发现单手摘JJ的头像变成“无头像”的那种了!

头像

查证了下,是缓存的问题,要解决?很简单,清除缓存就行了。结果由于一时粗心,误在博客的根目录执行了rm -rf *,然后Ctrl+F5。403!再次F5,403,F5,403,F5,403……

当时瞬间惊呆了!我干了啥?我在做梦吧!

不是做梦,没其他办法,唯一的希望就是数据恢复了!Linux上的数据恢复,我还没试过,不过,为了自己的博客,只能尽力而为了!

谷歌百度,尝试了debugfs,ext3grep。

debugfs,恢复的文件夹是一个文件……ext3grep,搞了一堆不知道啥,满屏幕的DDDDDDDDDDDDDDDDDDDDDDDDDDDDD……

ext3grep

 

看D看了半个多小时,结果啥都没……

 

正绝望时,找到了一个Extundelete,抱着希望,安装了!

安装好后,尝试着进行目录恢复:

执行后,看到我的网站文件几乎列都出来了!

Extundelete

 

然后进入保存被恢复文件的目录看了下:

success

可以看到,文件几乎全部回来了,不过对于我来说,最重要的是upload里面的图片!把wp-content/upload打包到本地,看了下,基本都在了!

最后,重装WordPress,把upload文件夹复制过去,安装好插件……

再次Ctrl+F5,熟悉的页面又回来了,没成功恢复的图片,就几张而已……

吃一堑长一智,为了避免类似的事情再次发生,从今天起,每天异地备份!

解决硬盘安装Ubuntu 12.04.1 Server提示“无法挂载你的安装光盘”或“找不到ISO”

最近入手了个KVM的VPS,SolusVM面板,提供VNC。

虽然VPS提供了模板安装系统,但是默认是把30GB都给了/,太不尽人意了。况且我也喜欢原版的系统。于是打算动手安装上去。

我使用的是硬盘安装的方法,但是安装的时候,却提示“无法挂载你的安装光盘”,经过我的一个晚上的折腾,终于找到解决办法了!

首先,到模板处安装个Windows Server 2008,然后安装个WinPE,用DiskGenius调整C盘的大小,释放1GB空间出来,放Ubuntu的ISO用,并且格式化为FAT32格式,注意一定要FAT32格式,不然会提示找不到ISO!

回到Win2008,下载好Ubuntu的ISO,还有这三个文件:

boot.img.gz

initrd.gz

vmlinuz

把这三个文件和Ubuntu的ISO一起放在那个新分区的根目录上。
安装运行EasyBCD,点击添加新条目,切换到NeoGrub标签,点安装,然后点击编辑:

EasyBCD

输入以下内容

 注意:hd0,0,第一个逗号前面的0表示硬盘号,0就是第一个硬盘,在逗号后面的那个0是分区号,0就是第一个分区,不知道分区号的可以打开磁盘管理,看看你的分区排在第几,如果是第三格的,那就是hd0,2。第二格的,那就是hd0,1,以此类推!我放那四个文件的硬盘是第一个硬盘,第三个分区,那就是hd0,2    。也不要忘记把ubuntu-12.04.1-server-i386.iso改成你的ISO的名字!

如图:

TXT

 

保存后,重启,开机启动那选开头为NeoGrub的那一项:

BCD

 

 

进去后,选择好语言,会弹出来,提示“寻找安装程序的ISO”,搜索ISO时,会出现几个设备让你选择,你刚刚在就是你刚刚输入的hd0,0的逗号后面那为数+1,例如我的是hd0,0,那选择的搜索设备就是/dev/vda3(不一定是vda,有些是sda,xvda等,都一样的。):

ScanISO

Choose

ChooseDISK

FindISO

成功后,直接按回车键,按提示开始安装就行了,途中会提示你安装一些软件,根据需要来搞就行了,例如OpenSSH!

安装过程也挺快,看到这个画面,按回车重启吧,你的Ubuntu就安装好了!

Finish