分类存档: Tech/技术-OpenBSD

Linux下的一些视频编辑软件

pitivi
lives
openmovieeditor
openshotvideo
avidemux
kdenlive
kinodv
cinelerra-cv

OpenBSD4.8 Mysql

安装:

# pkg_add mysql-server 初始化:

# /usr/local/bin/mysql_install_db
启动:
# mysqld_safe

OpenBSD4.8下squid反向代理多个网站的实验

实验条件:两个域名tootoogo.9966.org和toogotoo.9966.org,一台主机装有squid,主机ip:x.x.x.x,

实验目的:我想通过squid的反向代理功能,让访问tootoogo.9966.org的用户访问www.openbsd.org,让访问toogotoo.9966.org的用户访问www.freebsd.org

squid.conf的配置如下:

visible_hostname tootoogo_openbsd#你可以随便启个名字
http_port x.x.x.x:80 accel vhost vport#x.x.x.x换成你自己的ip
acl all src 0.0.0.0/0.0.0.0

http_access allow all
#allow all sites to use us as a sibling
icp_access allow all
#test the following sites to check that we are connected
cache_peer www.openbsd.org parent 80 0 no-query originserver name=tootoogo
#proxy-only no-digest set squid only proxy
cache_peer www.freebsd.org parent 80 0 no-query originserver name=toogotoo

cache_peer_domain tootoogo tootoogo.9966.org
cache_peer_domain toogotoo toogotoo.9966.org

OpenBSD4.8/FreeBSD8.1下Squid反向代理的简单配置

网上关于squid代理的配置动辄几十行,太复杂,看起来很累人,我简单的总结了下,如果不是很注重性能,采用默认配置,几行配置就可以实现反向代理了,下面我以反向代理www.sjtu.edu.cn为例,给出反向代理的简单配置文件squid.conf

OpenBSD下该文件位于/etc/squid/squid.conf,OpenBSD启动squid只需运行squid命令即可。

visible_hostname tootoogo_openbsd #你可以随便起个名字
http_port 10.10.10.11:80 accel vhost vport # 你服务器的ip和监听的端口号
acl all src 0.0.0.0/0.0.0.0
#allow all sites to use connect to us via HTTP
http_access allow all
#allow all sites to use us as a sibling
icp_access allow all
#test the following sites to check that we are connected
cache_peer www.sjtu.edu.cn parent 80 0 no-query originserver

#反向代理www.sjtu.edu.cn 端口为80,要是你的apache和squid装在一起,可以让apache帮定127.0.0.1:8080,然后用cache_peer 127.0.0.1 parent 8080 0 no-query originserver来代理你自己的网站

FreeBSD/OpenBSD下用pf做NAT(单网卡单臂路由和双网卡路由)

单网卡路由,简单的说就是,服务器只有一个网卡,这个网卡连接一个集线器(hub),hub上连接了外网的网线(wlan)和内网的客户机网线(lan),服务器上的这个网卡通过wlan上网,同时使用服务器网卡的别名(alias)来连接客户端(lan),利用nat使客户端也可以上网。

我搜了下相关文章,设置都比较繁杂,配置文件动辄N多行,一看就头大,不费点功夫还真没法理解,因此为了速成,我对配置进行了简化,仅保留最关键的配置,几分钟就能配置成功,切记,本文仅介绍简单搭建方法,可能存在安全隐患,请自行优化pf安全策略。

首先介绍FreeBSD下的做法,OpenBSD下的做法见文章末尾

1. 在内核加入pf支持

pf是OpenBSD下的,FreeBSD默认不支持pf,所以,首先要编译内核加入pf,支持,方法如下:

cd /usr/src/sys/i386/conf

cp GENERIC GENERIC.bak  备份一下GENERIC

编辑 GENERIC加入以下内容

device pf

device pflog

device pfsync

options ALTQ

options ALTQ_CBQ

options ALTQ_RED

options ALTQ_RIO

options ALTQ_HFSC

options ALTQ_CDNR

options ALTQ_PRIQ

options ALTQ_NOPCC

然后

config GENERIC

make depend&& make && make install && reboot

2. 修改/rc.conf文件,加入

#我的网卡为re0,假设外网ip为210.110.110.2,内网IP为11.0.0.X

ifconfig_re0="inet 210.110.110.2 netmask 255.255.255.0"

ifconfig_re0_alias0="inet 11.0.0.0.1 netmask 255.255.255.0"

pf_enable="YES"

pf_rules="/etc/pf.conf"

3. 建立/etc/pf.conf加入

nat on re0 from 11.0.0.0/24 to any -> 210.110.110.2 #用于nat

#下面可以添加其他的防火墙规则,如封新浪网就用block out on re0 from any to www.sina.com.cn

4. 修改/etc/sysctl.conf加入

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

然后重启,将内网的其他电脑ip设置为11.0.0.X(X不为1),网关为11.0.0.1,子网掩码为255.255.255.0

注意:

1. 双网卡情况

如果机器有两个网卡,双网卡nat和单网卡nat类似,假设第二个网卡为re1,且外网ip为动态ip(动态ip下的设置同样适用于静态ip的情况),此时需把/etc/rc.conf中的

ifconfig_re0_alias0="inet 11.0.0.1 netmask 255.255.255"

换成

ifconfig_re1="inet 11.0.0.1 netmask 255.255.255"

还需把/etc/pf.conf中的规则修改为

nat on re0 from re1:network to any -> (re0)

就可以了

2. 命令行方法

如果不想让电脑开机就进行nat,也可以是用命令行方式:

sysctl net.inet.ip.forwarding=1

sysctl net.inet6.ip6.forwarding=1

ifconfig re0 inet 211.110.110.2 netmask 255.255.255.0

ifconfig re0 alias 11.0.0.0.1 netmask 255.255.255.0

pfctl -f /etc/pf.conf  #当然事先还是要配置pf.conf规则的

3. OpenBSD下的方法

如果使用的是OpenBSD系统,那么就不需要编译内核,OpenBSD原生支持pf,我只在OpenBSD下用命令方式启动过nat

方法如下:

修改/etc/sysctl.conf加入

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

然后重启,如果不重启,就用命令行

sysctl net.inet.ip.forwarding=1
sysctl net.inet6.ip6.forwarding=1

配置网卡:

ifconfig re0 211.110.110.2 netmask 255.255.255.0

ifconfig re0 alias 11.0.0.1 netmask 255.255.255.0

(如果有两个网卡,那么就用ifconfig re1 11.0.0.1 netmask 255.255.255.0)

在/etc/pf.conf加入

#注意OpenBSD和FreeBSD下的pf语法稍有不同

pass out on re0 from 11.0.0.1 to any nat-to 211.110.110.2

如果是双网卡情况,且外网ip是动态的可以用

pass out on re0 from re1:network to any nat-to (re0)

然后

pfctl -f /etc/pf.conf

然后修改客户端的ip和网关就可以了

OpenBSD下PF的简单配置

启动和停止pf:

pfctl -e

pfctl -d

pfctl -f /etc/pf.conf 载入 pf.conf 文件
# pfctl -nf /etc/pf.conf 解析文件,但不载入
# pfctl -Nf /etc/pf.conf 只载入文件中的NAT规则
# pfctl -Rf /etc/pf.conf 只载入文件中的过滤规则
# pfctl -sn 显示当前的NAT规则
# pfctl -sr 显示当前的过滤规则
# pfctl -ss 显示当前的状态表
# pfctl -si 显示过滤状态和计数
# pfctl -sa 显示任何可显示的

OpenBSD下squid代理的简单搭建

简单的实验了下在OpenBSD下搭建squid代理,方法如下:

注意:我的Squid安装在局域网的一台OpenBSD电脑上,通过路由连接到外网,路由器的ip(外网ip)为:X.X.X.X,Squid所在电脑的ip为10.10.10.11,我在路由上进行了端口映射将3128端口映射到10.10.10.11

1. 安装squid

pkg_add -v squid-2.7.STABLE9

2. 配置squid

配置文件在/etc/squid/squid.conf

将原先的squid.conf备份:mv /etc/squid/squid/conf /etc/squid/squid.conf.bak

vi /etc/squid/squid.conf加入如下几行

################################

http_port 10.10.10.10.11:3128

#10.10.10.11是我电脑的ip,3128是squid监听端口,我的是内网,要为实现对外网的代理,

#我事先在我的路由上设置了端口映射将3128映射到ip 10.10.10.11

acl all src 0.0.0.0/0.0.0.0

http_access allow all

icp_access allow all

################################

启动squid:

使用命令 squid&就可以了

3. 测试

将浏览器的代理设置为

X.X.X.X  端口3128

X.X.X.X是我外网的ip

随便上个网站,如果能上去,那么就成功了,

或者你登录我的网站www.tootoogo.org在网页第一行就能看到你的代理的ip地址和归属地

至少我成功了,呵呵。

禁止WordPress自动将半角标点符号替换为全角

打开 wp-includes/formatting.php 文件,找到代码:

// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

将以上两行注释掉就可以了

Linux下mencoder转换视频格式的简单命令

仅介绍mencoder的基本转换方法,格式参数采用的是默认设置

mencoder进行操作基本方法:

mencoder inputfile -o outputfile -ovc 目标视频格式 -oac 目标音频格式 -of 目标文件格式

例如:

转换为flv格式

mencoder input.avi -o outfile.flv -of lavf -oac mp3lame -ovc lavc

转换为avi

mencoder infile.avi -o outfile.avi -of avi -oac mp3lame  -ovc xvid

转换为wmv

mencoder infile.avi -o outfile.wmv -of lavf -oac mp3lame -ovc lavc

截图方法

mplayer infile -ss START_TIME -noframedrop -nosound -vo jpeg -frames N

将视频中的音频抽取下来存成mp3的方法

1 先把音频存成wav:mplayer -vo null -vc null -ao pcm:file=/data/outfile.wav -srate 44100 -noframedrop infile

2 用lame压缩为mp3:lame /data/outfile.wav /data/outfile.mp3

Linux下GostScript(gs)打印gs文件的方法

需要转换几个ps文件,在ArchLinux下man了一下gs,简单的总结下gs的用法,备忘。

将a.ps文件打印成b.pdf,dpi为300,命令:

gs -o b.pdf -r300 -sDEVICE=pdfwrite a.ps

打印成b.jpg,命令:

gs -o b.jpg -r300 -sDEVICE=jpeg a.ps

打印成b.png,命令:

gs -o b.png -r300 -sDEVICE=png256 a.ps

分页打印,命令

gs -o b%d.pdf -r300 sDEVICE=pdfwrite a.ps

也可以利用gs把pdf转换成图片,命令:

gs -o b.jpg -r300 -sDEVICE=jpeg a.pdf

第 1 页,共 2 页12