RouterOS PPPoE和L2TP双拨策略路由

ROS 6.0rc12,先拨PPPoE上网,再拨L2TP VPN,上Internet走PPPoE,访问某些IP走VPN

PPP – Interface:增加PPPoE Client和L2TP Client两个Interface
PPPoE Client的MTU/MRU为1492,勾选Add Default Route 和 Use Peer DNS,Name就是pppoe
L2TP Client的MTU/MRU为1452(LT2P over PPPoE),不勾选Add Default Route,Name就是vpn

PPP – Profiles:编辑default,Change TCP MSS选择No

IP – DNS:勾选Allow Remote Requests

IP – Firewall – Address_Lists:增加需要走VPN访问的IP段,Name都取vpnip,Address填写需要走VPN的IP段,格式172.16.0.0/12,有几段就增加几个

IP – Firewall – NAT:
增加一个pppoe的NAT:Chain选srcnat,Out. Interface选pppoe,Action选masquerade
增加一个l2tp的NAT:Chain选srcnat,Out. Interface选l2tp,Dst. Address List选vpnip,Action选masquerade

IP – Firewall – Mangle:
增加对pppoe入TCP包的MSS修改:Chain选forward,Protocol选TCP,In. Interface选pppoe,TCP MSS输入1453-65535,TCP Flags选syn,Action选chang MSS,New TCP MSS输入1452,保持Passthrough选中
增加对pppoe出TCP包的MSS修改:Chain选forward,Protocol选TCP,Out. Interface选pppoe,TCP MSS输入1453-65535,TCP Flags选syn,Action选chang MSS,New TCP MSS输入1452,保持Passthrough选中
增加对l2tp入TCP包的MSS修改:Chain选forward,Protocol选TCP,In. Interface选l2tp,TCP MSS输入1413-65535,TCP Flags选syn,Action选chang MSS,New TCP MSS输入1412,保持Passthrough选中
增加对l2tp出TCP包的MSS修改:Chain选forward,Protocol选TCP,Out. Interface选l2tp,TCP MSS输入1413-65535,TCP Flags选syn,Action选chang MSS,New TCP MSS输入1412,保持Passthrough选中

IP – Routes:增加需要走VPN访问的IP段,Dst. Address填写需要走VPN的IP段,格式172.16.0.0/12,Gateway选择l2tp,有几段就增加几个

IP – Services:限制一下这些ROS服务的访问IP地址段,否则外网也能进行ROS管理

IP – UPnP:可以把UPnP打开,有些程序需要

System – Clock:设置一下时区

System – NTP Client:启用NTP Client以便自动对时

万兆TOE测试

测试环境:IBM HS22 X5650 24Gram Chelsio T420-BCH 关闭超线程 两台,BNT Virtual Fabric 10Gb Switch Module for IBM BladeCenter 两台,RHEL 6.3,ChelsioUwire-2.2.0.0,iperf 2.0.5 (08 Jul 2010) pthreads

详细测试结果见下面的表格,显而易见,万兆TOE还是非常有必要的,否则光对10GB的TCP流量进行基本处理就耗尽CPU资源了。

Continue reading

proftpd 1.3.4 的变化

需要在配置文件(默认是proftpd.conf)中标明需要加载的模块,如:
LoadModule mod_ctrls_admin.c
LoadModule mod_ban.c
LoadModule mod_tls.c
……

对于FreeBSD port来说mod_sql_mysql 和 mod_sql_postgres 从ftp/proftpd中分离出来,单列为:
databases/proftpd-mod_sql_mysql
databases/proftpd-mod_sql_postgres

ProFTPD 1.3.2升级到1.3.3后mod_ifsession mod_tls 的两点改变

mod_ifsession:Directory不能放在If…里面

1.3.2时
<IfUser yaoge>
  MaxHostsPerUser               1
  MaxClientsPerUser             3
  <Directory /ftp>
     <Limit DIRS READ WRITE>
       AllowAll
     </Limit>
  </Directory>
</IfUser>

1.3.3需改为
<IfUser yaoge>
  MaxHostsPerUser               1
  MaxClientsPerUser             3
</IfUser>
<Directory /ftp>
   <Limit DIRS READ WRITE>
      AllowUser OR yaoge
   </Limit>
</Directory>

mod_tls:需添加 TLSOptions NoSessionReuseRequired

SolarWinds Orion NPM 9.5 出现 Polling Engine Down

  服务器启动完毕后,所有 SolarWinds 相关服务 Running ,但是NPM不记录数据,通过Web查看 Admin 中的 Polling Engines,Engine Status 为 Polling Engine Down。临时解决办法是:打开Orion Service Manager 点击 Shutdown Everything 停止所有 SolarWinds 相关服务,杀掉 NetPerfMonService.exe 进程,打开Orion Service Manager 点击 Start Everything 重新启动所有 SolarWinds 相关服务。

VMware ESXi 的VLAN支持

  ESXi主机和交换机用trunk连接,在vSphere Client的主机网络配置中,虚拟机端口组的VLAN ID留空则虚拟机只可访问native VLAN (这里是VLAN 1);如果填写了ID则虚拟机只可访问对应的VLAN;如果ID填写4095则透传trunk,由虚拟机OS来完成VLAN区分(如PROSet)。

以上配置在此环境下测试通过:服务器为IBM X3650,安装ESXi 4.0.0 193498,双网卡均直接连接到6506的WS-X6748-GE-TX,IOS版本:s72033_rp Software (s72033_rp-ADVIPSERVICESK9_WAN-VM), Version 12.2(33)SXI, RELEASE SOFTWARE (fc2)
所有和ESXi主机相连的端口配置如下:
interface GigabitEthernet4/1
switchport
switchport trunk encapsulation dot1q
switchport mode trunk

使用PF实现基于来源的策略路由

  FreeBSD做服务器,要实现从哪个网卡进来的连接请求,返回时还从哪个网卡出去。这样可以让客户端自己选择线路,无需收集路由表。

ee /etc/rc.conf
pf_enable="YES"
pf_rules="/etc/pf.conf"

//启用PF
defaultrouter="192.168.1.1"
//这个是本机自己发起连接的默认路由

ee /etc/pf.conf

if_cernet="em0"
if_ct="em1"
gw_cernet="192.168.1.1"
gw_ct="192.168.0.1"
block all
pass quick on lo0 all
pass in quick on $if_cernet reply-to ( $if_cernet $gw_cernet ) proto {tcp,udp,icmp} to any keep state
pass in quick on $if_ct reply-to ( $if_ct $gw_ct ) proto {tcp,udp,icmp} to any keep state
pass out keep state