分类 RouterOS 下的文章

RouterOS电子邮件工具仅使用纯身份验证和tls加密,不支持其他方法。
属性说明
ServerSMTP服务器地址
PortSMTP服务端口
Start TLS是否使用TLS加密
From显示的电子邮件地址
UserSMTP服务器进行身份验证的用户名
PasswordSMTP服务器进行身份验证的密码

配置连接服务器并使用send命令发送电子邮件

/tool e-mail
set address=173.194.77.108
set port=587
set from=myuser@gmail.com
set user=myuser
set password=mypassword

send to=myuser@anotherdomain.com subject="email test" body="email test" start-tls=yes

PMTU 黑洞
所谓 MTU,指的是一条链路上可以通过的三层数据包的最大尺寸(包含 IP 包头)。以太网默认的 MTU 是 1500 字节。但是从我的设备到目标服务器之间的路径上可能存在 MTU 小于 1500 的链路,那么这条路径上最小的 MTU,就是整条链路的 Path MTU(PMTU)。

路由器在转发包的时候,如果包的大小超过了 MTU,那么这个包会被分片(fragmentation)。而终端设备在发包时,也可以设置 DF 标志位(Don’t Fragment)来告诉路由器不要对这个包分片,此时如果这个包大小超过了 MTU,那么路由器就会丢掉这个包,并回复一条 ICMP Fragmentation Needed 消息。发送者收到这个消息后,下次就会发送小一点的包。这个过程叫做 PMTU 发现(PMTU Discovery)。

但是互联网中有大量的设备因为各种原因,会配置为不回应 ICMP Fragmentation Needed 消息,这使得大小超过 MTU 的包会被无声地丢掉,直到 TCP 协议发现超时丢包并进行重传。这种情况就是 PMTU黑洞。

此外,IPv6 包不支持分片,换句话说就是所有 IPv6 数据包全都带有 DF 标记。中间的路由器在遇到尺寸大于 MTU 的包的时候,应该回应 ICMPv6 Packet Too Big 消息,而同样的,由于各种原因,某些中间设备可能会直接丢掉这个包而不返回这条消息,直到 TCP 协议发现超时而进行重传。

在 RouterOS 中配置 MSS Clamping

# 将命令中 out-interface 参数的值替换成你的PPPoE接口的名字
/ip/firewall/mangle
add action=change-mss chain=forward comment="IPv4 MSS clamp to PMTU" \
    new-mss=clamp-to-pmtu out-interface="pppoe-out1" passthrough=yes \
    protocol=tcp tcp-flags=syn

/ipv6/firewall/mangle
add action=change-mss chain=forward comment="IPv6 MSS clamp to PMTU" \
    new-mss=clamp-to-pmtu out-interface="pppoe-out1" passthrough=yes \
    protocol=tcp tcp-flags=syn
您是第 67948 位访客