标签 RouterOS 下的文章

RouterOS 中 RAW 表的基本规则配置一例

RouterOS6.36rc21 开始支持 raw——

*) firewall - added pre-connection tracking filter - "raw"  table, that allow to protect connection-tracking from unnecessary traffic;

料想其与 iptables 的该特性优势一致(可提升性能),
于是尝试将以前写在主表的部分规则移到了 raw 表:

/ip firewall raw
add chain=prerouting action=drop packet-size=1492-65535 log=no protocol=icmp comment="Drop oversized unfragmented packets"
add chain=prerouting action=drop in-interface=all-ppp icmp-options=8:0 log=no protocol=icmp comment="Drop pings from WAN"
add cchain=prerouting action=drop in-interface=all-ppp dst-port=53 log=no protocol=tcp comment="Drop tcp DNS queries from WAN"
add chain=prerouting action=drop in-interface=all-ppp icmp-options=8:0 log=no protocol=icmp comment="Drop udp DNS queries from WAN"
add chain=prerouting action=drop tcp-flags=fin,syn log=no protocol=tcp comment="SYN-FIN attack protection"
add chain=prerouting action=drop tcp-flags=syn,rst log=no protocol=tcp comment="SYN-RST attack protection"
add chain=prerouting action=drop tcp-flags=fin,psh,urg,!syn,!rst,!ack log=no protocol=tcp comment="X-Mas attack protection"
add chain=prerouting action=drop tcp-flags=fin,!syn,!rst,!psh,!ack,!urg log=no protocol=tcp comment="NMAP FIN attack protection"
add chain=prerouting action=drop tcp-flags=fin,syn,rst,ack,urg,!psh log=no protocol=tcp comment="NMAP Push attack protection"
add chain=prerouting action=drop tcp-flags=fin,psh,urg,!syn,!rst,!ack log=no protocol=tcp comment="NMAP FIN/PSH/URG attack protection"
add chain=prerouting action=drop tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg log=no protocol=tcp comment="NULLflags attack protection"
add chain=prerouting action=drop tcp-flags=fin,syn,rst,psh,ack,urg log=no protocol=tcp comment="ALLflags attack protection"

将“树莓派”作为网关配合 ROS 实现国外流量加速

前言

为了提升 OSMC 的使用体验而购买了 Raspberry Pi 2 Model B
于是淘汰了一台 v1Model B 下来(下称 RPi )。
看着 egdeLSS 的 Pro 套餐配额每月剩一大半着实心疼,
决定用 RPi 架个家庭网关给 PS4 和 AppleTV 加加速

RPi 上的配置

我的 RPi 安装 Raspbian Jeesie Lite
其它系统大同小异。

配置 egdeLSS

先去 egdeLSS 官网下载适配 RPi 的 Cli 转换器(下称 SE )并给予执行权限,
执行时会报错 No such file or directory
疑是依赖未解决。
尝试找出依赖:

head -1 SE | cat -A
...
/lib/ld-linux.so.3
...

看来缺少 /lib/ld-linux.so.3
尝试解决

ln -s /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3

再次执行不再报错。

配置文件示例可见官网,
细节调整可参考 yxorPAH 的文档。
其关键的配置项如下:

- 阅读剩余部分 -

RouterOS 中设置 PCC 多线负载均衡

前言

ROS 中配置完 PCC 后的 PPPoE 流量

目前公司有近百台设备,
申请两条电信 100M 光纤,
之前几个月一直分成两个网络在使用,
除了偶尔某条线过于繁忙之外也没什么不便。

最近我搭了内网的研发测试环境,
势必要将设备统一到同个办公内网。
索性买了一台与家里型号相同的 RB850Gx2
准备除了合并网络之外顺便做多线负载均衡。

介绍

ROS 官网介绍了多种 LB 方案
用得较多的分 PCC (Per Connection Classifier) 和 Nth 两种;
我理解二者的区别主要在于:前者基于 IP 而后者基于连接,
因此后者从流量角度来说更为均衡,而前者稳定性更佳;
办公网当然是稳定压倒一切。

配置

官网教程通常选用固定 IP 做示例,
咱们动态 IP 用户需要稍作调整 (参考此文),
记录如下——

- 阅读剩余部分 -

RouterOS 中设置 Port Forwarding 与 NAT Loopback

前儿给家里弄了台 RB850Gx2 替换 E4200 作主路由器,
首次玩 RouterOS(下称 ROS),
在这里记录一些常用设置以备忘。
(不过近两年许多笔记已改用 Markdown 编写后丢 Google Drive 保存了,
要是能自动同步到 Blog 就太方便了)

一开始我以为 ROS 里的端口转发很简单,
根据网文增加规则之后发现只能从外网通过 DDNS 域名访问(内网不行),
于是回头根据官方教程修改 NAT 回环设置,
折腾好一会儿才据此帖找到了窍门,
提示一点:注意规则顺序

以下是示例,即:
假设内网网段是 192.168.0.0/16 ,
Master Port 是 Ehter1-local-master
将端口 1234 端口转发至内网 192.168.1.x:4321 ,
无需如一些网文所言必须增加定时任务来更新公网 IP 。

/ip firewall nat> print

Flags: X - disabled, I - invalid, D - dynamic 
 0    ;;; NAT - WAN
      chain=srcnat action=masquerade src-address=192.168.0.0/16 out-interface=PPPoE log=no

 1    ;;; NAT - Loopback
      chain=srcnat action=masquerade src-address=192.168.0.0/16 dst-address=192.168.0.0/16 out-interface=Ehter1-local-master log=no

 2    ;;; Port Forwarding
      chain=dstnat action=dst-nat to-addresses=192.168.1.x to-ports=4321 protocol=tcp dst-port=1234 log=no