分类 Linux 下的文章

最近发现我的局域网内网下的网速很慢,只有500M左右,达不到 1000M 的速度。我是通过 ipert3 进行测速的。

家里的网络是通过 esxi 下安装的 openwrt,ubuntu 等虚拟机控制的,通过 esxi 管理页面可以看到接口都运行在 1000M 全双工模式下,说明网线链接是没有问题的:
1.jpg

经过查询发现可以通过修改虚拟交换机的 mtu 值到 9000 来提高网络吞吐量从而加快网速。

阅读全文


我家里的主机使用 esxi 管理多个 vm 虚拟机,之前的文章介绍过 esxi 的安装及使用:ESXi 的安装与使用,需要安装的可以参考。

通过浏览器访问 vcenter 管理界面默认会强制 https 模式,但是访问端并没有安装 vcenter 管理网页的证书,所以会提示不安全的链接,下面介绍如何在 esxi 上安装自定义域名的 ssl 证书,并在客户机上安装。

阅读全文


最近在使用中发现一个软件 log 中出现大量的报错:

/core/transport/internet/tcp: failed to accepted raw connections > accept tcp [::]:18919: accept4: too many open files

查询后知道这是进程占用的句柄数超出了系统最大值导致的。由于我的系统是 openwrt 所以下面介绍如何修改某个进程的最大句柄数限制。

阅读全文


之前介绍过通过 dnsmasq 配合 iptables 实现对 ip 地址的流量过滤,dnsmasq 获取到流量后标记 ipset 然后通过 iptables 识别 ipset 然后将流量送往指定地址。

通过 dnsmasq ipset 和 iptables 对域名流量的控制
iptables 使用教程

这里面存在一个问题就是流量回环问题,如果处理不好回导致 iptables 规则无限循环,尤其是在配置透明代理时候。

iptables -t mangle -A PREROUTING -p tcp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A PREROUTING -p udp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A OUTPUT -p tcp -m set --match-set gfwlist dst -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp -m set --match-set gfwlist dst -j MARK --set-mark 1

以上规则会将 指定 list 的流量发送到指定端口并打上 mark 标记,但是从目标地址返回数据后,数据流会再次匹配到以上规则导致再次将流量送往指定端口,导致无限循环。

处理方法就是在目标地址获取到流量后,给流量打上 mark 标记,然后在 iptables 的最前面加上一条规则识别从目标地址返回的流量,直接 return 流量即可。

例如目标地址处理后的流量标记为 mark 2,iptables 规则最前面增加一条规则:

iptables -t mangle -I OUTPUT -j RETURN -m mark --mark 0x02

-I 参数就是将规则放在在路由链的最前面。

如果是通过脚本的方式配置 iptables,将开始的脚本内容修改如下即可:

iptables -t mangle -A OUTPUT -j RETURN -m mark --mark 0x02

iptables -t mangle -A PREROUTING -p tcp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A PREROUTING -p udp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A OUTPUT -p tcp -m set --match-set gfwlist dst -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp -m set --match-set gfwlist dst -j MARK --set-mark 1

这样就可以避免流量回环问题。