Akawa

ETY001的博客

man iptables
命令格式:

iptables [-t 表名] 命令 [链] [规则号] [条件] [规则]

说明:⑴ -t 表名 指定规则所在的表。表名可以是 filter ,nat ,mangle (小写)

⑵ 命令 (iptables的子命令)

-A 在指定链中添加规则

-D 在指定链中删除指定规则

-R 修改指定链中指定规则

-I 在指定规则前插入规则

-L 显示链中的规则

-N 建立用户链

-F 清空链中的规则

-X 删除用户自定义链

-P 设置链的默认规则

-C 用具体的规则链来检查在规则中的数据包

-h 显示帮助

阅读全文 »

折腾了一天终于可以实现freeradius认证登录的pptp vpn了,总结一下。

其实整个过程分为三步,第一步:

分别搭建nmp环境(主要为了能用phpmyadmin,后期可以再找找看有没有其他php管理radius的软件,实在不行就自己写一个)、pptp vpn环境、radius认证环境

第二步:

整合radius和mysql

第三步:

整合radius和pptp vpn。

开始:

1、由于之前已经搭建好了pptpd的vpn了,所以vpn搭建这块就跳过了。

vpn搭建好以后,自己测试一下是否可用。具体的可以参照arch wiki,wiki上有详细的配置,地址:https://wiki.archlinux.org/index.php/PPTP_Server_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

2、安装freeradius服务端和客户端。

pacman -S freeradius freeradius-client
阅读全文 »

近期入手了一个Raspberry Pi,然后在折腾的时候,想把一台局域网内的机器的硬盘中的一个目录做nfs挂载过来,其间出了些问题,下面列举出来。

1、服务端的/etc/exports文件配置的时候,允许的ip地址和操作权限之间是没有空格的

2、cenos6做nfs服务器的时候,portmap已经更名为rpcbind

3、由于我的Raspberry Pi上安装的是archlinux,所以还需要安装nfs-utils,然后才能挂载nfs,否则挂载的时候会提示类型不识别

4、挂载的时候需要 -o nolock参数

5、如果你的客户端处在另一个网段下面,与服务端的通信经过了NAT,客户端mount的时候会有下面的报错

mount.nfs: access denied by server while mounting

那么你需要在服务端的权限配置中加入insecure的参数,不使用nfs预留端口,因为走NAT,所以端口都是大于1024的,这一点从服务器端查看log日志,

cat /var/log/messages | grep mount

就会发现端口非法(illegal port)。详情见这里:http://blog.sina.com.cn/s/blog_5e66060c01017bpx.html

最近入手了树莓派,很是给力。

From:ArchLinux Wiki https://wiki.archlinux.org/index.php/Xrandr#Adding_undetected_resolutions

Adding undetected resolutions

Due to buggy hardware or drivers, your monitor’s correct resolutions may not always be detected by xrandr. For example, the EDID data block queried from the monitor may be incorrect. However, we can add the desired resolutions to xrandr.

First we run gtf or cvt to get the Modeline for the resolution we want:

For some LCD screens (samsung 2343NW), the command “cvt -r” (= with reduced blanking) is to be used.

 $ cvt 1280 1024

 # 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
 Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
阅读全文 »

  1. 连接和运行时库文件搜索路径到设置

库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。设置库文件的搜索路径有下列两种方式,可任选其一使用:

(1). 在 /etc/ld.so.conf 文件中添加库的搜索路径。(或者在/etc/ld.so.conf.d 下新建一个.conf文件,将搜索路径一行一个加入-junziyang)

将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择添加方法也极其简单,将库文件的绝对路径直接写进去就OK了,一行一个。例如:

/usr/X11R6/lib

/usr/local/lib

/opt/lib

需要注意的是:这种搜索路径的设置方式对于程序连接时的库(包括共享库和静态库)的定位已经足够了,但是对于使用了共享库的程序的执行还是不够的。这是因为为了加快程序执行时对共享库的定位速度,避免使用搜索路径查找共享库的低效率,所以是直接读取库列表文件 /etc/ld.so.cache 从中进行搜索的。/etc/ld.so.cache 是一个非文本的数据文件,不能直接编辑,它是根据 /etc/ld.so.conf 中设置的搜索路径由 /sbin/ldconfig 命令将这些搜索路径下的共享库文件集中在一起而生成的(ldconfig 命令要以 root 权限执行)。

阅读全文 »

svnserve命令中有一个参数是config-file参数,可以用来设置svn服务启动的时候,指定一个全局config文件,这样每个库下面的conf文件夹的配置文件就不会再生效了。对于该参数,网上鲜有介绍,基本上svn配置的文章就那么几篇,还基本上都是互相copy的。。。大家比较常见的就是下面这条命令了:

svnserve -d -r /home/svn

我们如果想用全局配置文件,那么就按下面的命令启动svn服务:

svnserve -d -r /home/svn --config-file /home/svn/svnserve.conf

另外,我没有尝试成功把配置文件放到svn目录以外的地方,也就是说我的svn库目录是/home/svn,这个目录下有N个库目录,只有当我的全局配置文件svnserve.conf,passwd,authz放到/home/svn下才生效,我放到别的目录的时候,在客户端对库进行操作的时候是报错没有指定的用户(username cannot find)。包括在svnserve.conf中设置passwd和authz的位置为其他目录也失败了。

我的笔记本是Dell Inspiron 15R Turbo 1728,一块Intel集成显卡外加一块ATI显卡。问题出现的情况是:每次启动Archlinux起来,屏幕基本上都是最暗的,偶尔会出现一次正常情况。

我装系统的时候,先装的xf86-video-intel,然后装的xf86-video-ati,其实有尝试装catalyst-dkms,但是catalyst-dkms安装的时候有个gpl跟xf86-video-intel的冲突,需要删掉,并且安装完catalyst-dkms后,重启也是起不来桌面的。。。

当时以为能装上私有驱动后,应该问题就能解决,但是后来因为catalyst-dkms安装失败,我也就放弃了。转机出现,是我在Archlinux的wiki上搜索别的资料的时候,发现了一个文章介绍Sony笔记本Archlinux的相关配置,链接:https://wiki.archlinux.org/index.php/Sony_vaio_VGN-SA/SB

这篇文章里面就提到了关于ATI独显和Intel板载显卡关闭的问题,简要的说就是要先挂载debugfs,

mount -t debugfs debugfs /sys/kernel/debug

或者用在/etc/fstab中加入
debugfs /sys/kernel/debug debugfs 0 0

我表示我的系统已经挂好了这个了,所以我直接进入下一步,加载ATI的模块,

modprobe radeon

关掉不在使用中的显卡

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

检查下设置的效果

cat /sys/kernel/debug/vgaswitcheroo/switch

结果:
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

注意带+号的表示现在正在用的显卡,IGD就是Intel的板载显卡,DIS就是ATI的那块独显。

如果想重新打开就执行

echo ON > /sys/kernel/debug/vgaswitcheroo/switch

其他的详情看这篇文章吧,不多说了。

再就是吐槽一下,我是最近用最新的镜像重装了下archlinux,原因是大版本变动的升级虽然升级成功了,但是有几个很纠结的小问题实在是没心情解决了,遂重装了,但是没想到这次重装后,发现又有变化就是之前的Sysvinit被systemd替换了。表示对于不会shell脚本的人来说,写一个能开机自动关掉显卡的service文件着实的蛋疼,虽然最终也算是成功了。在wiki上没有看到有关原来rc.local中开机自动执行脚本用systemd实现的方法,有知道的朋友,能否点播下我,谢啦~

vim /usr/lib/systemd/system/rc-local.service

内容如下:

[Unit]

Description=”/etc/rc.d/rc.local Compatibility”

After=network.target

[Service]

Type=forking

ExecStart=/etc/rc.d/rc.local start

TimeoutSec=0

StandardInput=tty

RemainAfterExit=yes

SysVStartPriority=99

[Install]

WantedBy=multi-user.target

启用脚本

systemctl enable rc-local.service

创建启动文件rc.local,

vim /etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local

转自:http://cnodejs.org/topic/501f5d8ff767cc9a51c98165

2.x:

<code>app.helpers({ config: config, title: config.title }); app.dynamicHelpers({ //防止csrf攻击 csrf: function(req,res) { return req.session ? req.session._csrf : ''; }, req: function(req,res) { return req; }, userInfo: function(req,res){ return req.session.user; } });</code>

3.x

<code>//app.helpers() app.locals({ config: config, title: config.title }); //app.dynamicHelpers app.use(function(req, res, next){ res.locals.title = config['title'] res.locals.csrf = req.session ? req.session._csrf : ''; res.locals.req = req; res.locals.session = req.session; next(); }); app.use(app.router);</code>
0%