VMware ESXi的OpenVPN的Bridge模式

参考http://www.jeremycole.com/blog/2010/03/11/openvpn-bridge-under-vmware-esxi/

前段时间在ESXi里面架了一个小防火墙,用openvpn时想使用bridge模式直接拨入内网,可是设置好之后,无论如何VPN客户端都不能与内网机器进行通讯。查了下原因,原来是ESXi的网络promiscous模式问题,ESXi虚拟交换机在默认情况下会丢失所有的promiscous包。

要解决很简单,用vSphere Client连接到ESXi,然后在”Configuration”标签中选中”Networking” ,然后再选中对应的虚拟交换机的”Properties…”。在跳出来的对话框中,选中”vSwitch”,然后点”Edit”。最后在”Security”标签中,把”Promiscuous Mode”改为”Accept”。

之后,OpenVPN的桥接模式就会生效了~~~

apache强制https

利用mod_rewrite,一段很简单的代码就搞定了。。。。

RewriteEngine on
RewriteCond %{HTTPS}   !^on$   [NC]
RewriteRule   .   https://%{HTTP_HOST}%{REQUEST_URI}    [L]

然后,不管你访问网站的的什么页面,都会自动跳转到https。

postfix 只允许指定的用户给特定的别名发送邮件

本文出自 “一个SA的工作和学习记录” 博客,请务必保留此出处http://chlotte.blog.51cto.com/318402/404764

公司需求:只有公司高层才可以向全体员工发送邮件,除此之外,均无权向全体员工发送邮件。

公司高层邮箱:

wanglujing@ourgame.com
renlina@ourgame.com
caiyanyan@ourgame.com
qinwen@ourgame.com
shiwanting@ourgame.com

全体员工邮箱:qtyg@ourgame.com

postfix相关概念如下,具体的请参考《postfix权威指南》,在第十一章 反垃圾邮件 中讲的很清楚,下面引用了其部分参数:

Smtmpd_restriction_classes

自定义规范等级的名称,列出管理员自定义的所有规范等级,每一组规范等级,都是由一系列UBE限制条件组成。

Check_client_access 客户端
Check_sender_access 发件人
Check_recipient_access 收件人

Check_recipient_access maptype:mapname
Check_recipient_access 指向一个含有邮件地址、网域名称、人名的访问表,用于对比客户端在RCPT TO命令中提供的收件地址,如果发现相符的索引键,则postfix执行相对应的值所提定的动作。

Check_sender_access maptype:mapname
Check_sender_access 指向一个含有邮件地址,网域名称,人名的访问表,用于对比客户端在MAIL FROM命令中提供的寄件人邮件地址,如果发现相符的索引键,则postfix执行相对应的值所指定的动作。

SMTP对话过程以各阶段对应的限制条件:
动作如下:
OK: 通过当前过滤规则的检查,postfix继续检查下一组过滤规则。
REJECT: 拒绝邮件.后面可以加上一段简短信息,说明拒绝的理由,这段信息会连同拒绝码一起返回给客户端,并且被记录在postfix日志文件中。

解决方法如下:
1,定义规范等级,名称分别为local_only与local_only1,修改main.cf

[root@mail postfix]# vi main.cf
#youshengtao 2010-10-12
smtpd_restriction_classes = local_only, local_only1
local_only = check_recipient_access hash:/etc/postfix/plugin/plugin.list,reject
local_only1 = check_sender_access hash:/etc/postfix/plugin/plugin.users,reject
smtpd_recipient_restrictions =
   reject_unknown_sender_domain,
   reject_unknown_recipient_domain,
   reject_non_fqdn_sender,
   reject_non_fqdn_recipient,
   reject_unlisted_recipient,
   check_sender_access hash:/etc/postfix/plugin/plugin.users,        #new added
   check_sender_access hash:/etc/postfix/plugin/local_senders,       #new added
   check_recipient_access hash:/etc/postfix/plugin/local_recipients, #new added
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination,
   reject_non_fqdn_helo_hostname,
   reject_invalid_helo_hostname,
   check_policy_service inet:127.0.0.1:10031

2,建立相关的目录,也可以不建目录,直接放在postifx目录下面,不过,为了以后维护方便,我还是建了一个目录。

[root@mail ~]# mkdir -p /etc/postfix/plugin
[root@mail ~]# cd /etc/postfix/plugin/
[root@mail plugin]#cat local_recipients
qtyg@ourgame.com local_only1
[root@mail plugin]# cat local_senders
wanglujing@ourgame.com local_only
renlina@ourgame.com    local_only
caiyanyan@ourgame.com  local_only
qinwen@ourgame.com     local_only
shiwanting@ourgame.com  local_only
[root@mail plugin]# cat plugin.list
qtyg@ourgame.com OK
[root@mail plugin]# cat plugin.users
wanglujing@ourgame.com OK
renlina@ourgame.com    OK
caiyanyan@ourgame.com  OK
qinwen@ourgame.com     OK
shiwanting@ourgame.com OK

3,使用postmap将下列的文件转换成postfix可直接查询的格式。

postmap hash:/etc/postfix/plugin/plugin.list
postmap hash:/etc/postfix/plugin/plugin.users
postmap hash:/etc/postfix/plugin/local_senders
postmap hash:/etc/postfix/plugin/local_recipients

4,重载postfix后,邮件服务器正常工作,实现了我们需要的功能。

[root@mail npc]# service postfix reload
重新载入postfix:[确定]

备注:不要忘记第3步,否则服务器会不能收发任何邮件,日志中会有如下提示:

Oct 12 13:55:15 mail postfix/smtpd[875]: fatal: open database /etc/postfix/plugin/recipient_list.db: No such file or directory
Oct 12 13:55:16 mail postfix/master[2266]: warning: process /usr/libexec/postfix/smtpd pid 875 exit status 1
Oct 12 13:55:16 mail postfix/master[2266]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

好久没有写东西

最近太忙了,而且忙的东西都不太好意思放上来。。。。。。

Cisco交换机与NetGear交换机进行级联

资料来源:http://www.velocityreviews.com/forums/t503781-cisco-and-netgear-switch-trunking.html
今天才知道,原来是Cisco交换机与NetGear交换机当里的trunk概念是不一样的。
在Cisco当中,Trunk意思是一个接口连接多个VLAN;而在NetGear中,Trunk的意思是把多个端口捆绑在一起。看样子,有个国际标准还是好啊,就这个概念,又浪费了我一个上午的时间。
搞明天这个之后,事情就很简单了。
用网线连接Cisco交换机的A口与NetGear交换机的B口,然后将A口设置成trunk(Cisco)。
B口的设置有点麻烦,不过,搞明白概念以后也就简单了。先到VLAN里面,把VLAn模式选为IEEE802.1Q VLAN。然后把你在Cisco里面的VLAN ID全部创建一下。然后,在所有你创建的VLAN中,把B口全部标记成“T”。
大功告成!

网站启用新域名

网站今天开始正式启用新域名:http://blog.tangjianwei.com

子网计算工具–netmask

来源http://www.linuxbyte.org/zi-wang-ji-suan-gong-ju-netmask.html

netmask 命令是一个方便的子网掩码计算工具,可以计算IP段的掩码,也能根据掩码给你IP段和IP个数。

举例:

netmask 58.252.160.0:58.252.164.255
58.252.160.0/22
58.252.164.0/24
netmask 58.252.160.0/22 -r
58.252.160.0-58.252.163.255  (1024)

另外它支持以八进制,十六进制,二进制格式输出。

netmask 58.252.160.0:58.252.164.255 -b
00111010 11111100 10100000 00000000 / 11111111 11111111 11111100 00000000
00111010 11111100 10100100 00000000 / 11111111 11111111 11111111 00000000

更多使用细节请执行man netmask 吧 ^-^

黑莓手机上不能收取BES服务器上的邮件

昨天搞了一天的黑莓,问题真是多多啊

问题1:利用激活码总是不能成功激活
解决1:利用BES的管理网页,直接用USB连接手机到电脑上搞定

问题2:BES管理页面认不出手机
解决2:这个问题很操蛋,我用的是一个质量好的USB线不可以,最后倒是换成了一个不好的数据线搞定了

问题3:激活后能发邮件不能收邮件
解决3:原因好像很多,详细参加下面网页,最近很忙,没时间翻译了。
http://www.blackberry.com/btsc/search.do?cmd=displayKC&docType=kc&externalId=KB11172#1