我正在尝试按照此处所述在 Linux 网关上设置流量整形。脚本需要自定义,因为我有多个 LAN 接口。因此,为了塑造 LAN 端,我计划创建一个 ifb 伪设备,如下所示:
modprobe ifb
ip link set dev ifb0 up
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
Run Code Online (Sandbox Code Playgroud)
上面提到的 gist repo 中的脚本有以下几行:
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip sport $INTERACTIVE_PORT 0xffff flowid :1
/sbin/tc filter add dev …Run Code Online (Sandbox Code Playgroud) 我希望 iptables 只过滤一个面向 WAN 的接口 eth0。如何才能做到这一点?我想在 eth0 上保持 ftp 和 ssh 端口打开。
我想归档小于 3 MB 的文件(使用 tar)。但我也想保留这些文件所在的目录。(所以我不能使用find命令)。我只想避免大小超过 3 MB 的文件。如何才能做到这一点?
我的 Ubuntu 服务器以太网接口连接到 ISP 的多路复用器显示错误。这是快照:
RX packets:204564288 errors:3193970 dropped:0 overruns:0 frame:3138402
TX packets:29305799 errors:38752 dropped:0 overruns:0 carrier:38762
collisions:2205053 txqueuelen:1000
Run Code Online (Sandbox Code Playgroud)
Ubuntu 接口支持全双工,但只能协商半双工连接。当我将不同的设备(路由器)连接到 MUX 时,它也显示此类错误。分配的带宽是 50 mbps,但我只有 20 mbps。ISP 不愿意在 MUX 中更改他们的设备(看起来像以太网交换机或集线器)。ISP 工程师将其归咎于我的错。但是我检查了 3 个以上的设备,都显示错误。那么,是否有任何适用于 Linux 的工具可以用来深入探究这些错误的原因,或者我可以做些什么来重新配置我的服务器界面以消除这些错误?
我有一个运行 Ubuntu 10.04 的 Linux 机器,具有三个接口:eth0、eth1和eth2。我计划将其用作由两个不同 ISP 分配的 4 个公共子网的 WAN 路由器。以下是子网(我已将 ISP 分配的子网转换为 C 类私有子网):
ISP 1
WAN 192.168.0.176/30 gateway 192.168.0.177
LAN 192.168.3.192/29
ISP 2
WAN 192.168.6.208/30 gateway 192.168.6.209
LAN 192.168.9.216/29
Run Code Online (Sandbox Code Playgroud)
/30子网面向各自的 ISP,/29子网面向我的 LAN 交换机。
这是将 IP 分配给接口的方式:
LAN interface
eth0 192.168.3.193/29
eth0:0 192.168.9.217/29
ISP 1 interface
eth1 192.168.0.178/30
ISP 2 interface
eth2 192.168.6.210/30
Run Code Online (Sandbox Code Playgroud)
我想在各自分配的 ISP/30和/29子网之间分别路由流量。如果流量来自一个 ISP 的/30网络,则应将其路由到该 ISP 的/29网络,反之亦然。我不介意源自一个 ISP /29 …
我的 ISP 在我工作的地方安装了基于光纤的专用互联网连接。一开始,连接终止于 ISP 的核心路由器之一。这导致了一个奇怪的问题。尽管分配的速度是 5mbps,但当通过 http 和 ftp 从多个位置下载大文件进行测试时,速度从未超过 2mbps。但是bittorrent下载达到了5mbps。甚至从 ISP 服务器下载文件也很好。因此,在 ISP 处,我们的链接直接连接到他们的边缘路由器。从高带宽服务器(如 Google 和 MS)下载此文件后,达到 5 mbps 限制。有时速度会下降到 2 mbps 以下,然后突然上升到 5 mbps 限制(在任何单个文件下载过程中都会发生这种情况)。但是像 ubuntu apt 存储库这样的其他下载仍然难以超过 2 mbps。ISP 的工程师一直无法解决问题。
在他们将我们转移到他们的边缘路由器而不是给我们 8 个公共 ip 之后,他们只给了 4 个 ip。当我们询问时,他们告诉我们,提供更多的 ip 会导致边缘路由器的 arp 过载。但不知何故,我能够说服他们给我们我们想要的 8 个 ip。但文件下载问题仍然存在。来自不同位置的文件以不同速度下载的原因可能是什么,速度波动也很大?我已经从属于另一个较小 ISP 的连接下载了来自相同 url 的文件,速度很好,达到了 5 mbps 的完整限制。
我处于一种情况,我无法对 ssh 进行无密码登录,并且 ssh 服务器无法通过默认端口以外的任何其他端口运行。所以,我选择使用 stunnel 来隧道 ssh。就我个人的电脑我使用在客户端模式,安全通道,并用它来登录到服务器,像这样:ssh -p 8888 user@localhost。问题是 ssl 客户端证书是公开的,因此任何人都可以轻松设置到我的服务器的 ssl 隧道。如果有人查询https://myserver.com它表明 openssh 2.0 正在 ssl 端口上运行。所以它已经成为一种最简单的入侵方式,比在非默认端口上运行 ssl 服务器要简单得多。所以,我想知道是否可以将 ssl 客户端证书设为私有,这样就不会向在我的服务器上进行 https 查询的任何人提供它。而且我应该能够像 ssl 私钥一样保密。
我已经按照此处给出的答案将我的 Ubuntu 服务器设置为路由器和网络服务器。我面向 ISP 的接口eth0有一个私有 172.16.xx/30 ip,我的lo接口有一个公共 IP,如上面链接的问题的答案中所述。设置运行良好。我遇到的唯一障碍是我找不到阻止接口上公共 IP 公开的lo端口的方法。我尝试这样做iptables -A INPUT -i eth0 -j DROP,但我的服务器失去了与公共网络(互联网)的连接。我无法 ping 任何公共 ip。我想要的是一种阻止接口上公共 ip 公开的lo端口的方法。而且我还需要 iptables 规则,可以将端口80或 openvpn 端口暴露给公共网络。