标签:IPTABLES

Unix Like, 操作系统, 网络

QoS —— 交互式应用最低延迟,HTTP(S)、IMAP等常用服务优先,迅雷、P2P受限

前言 使用迅雷全速下载时,其余网络应用的体验几乎约等于断网状态。 全速下载时,迅雷并没有占用太多上行带宽,于路由器上观察上行速率,同样正常: 可见全速下载时出现的现象,问题在于下行。 迅雷全网搜索资源,这意味着会有许多来自不同地方的计算机,以高速率往我的计算机发来大量数据包。ISP处的队列早已被这些P2P数据包塞满,而SSH、网页等服务的数据包速率不高,根本不够P2P数据包竞争,这些数据包到达ISP处时,只能由于队列已满而被丢弃。   其实这个问题,并没有什么好的解决办法,因为ISP处的队列我们没有权限控制。 我们所能做的,只是控制P2P的速率,避免因ISP处队列满而使得数据包被丢弃 […]

Read more No Comments
Unix Like, 操作系统, 网络

使用策略路由实现涉及getsockopt(…, SO_ORIGINAL_DST, …)程序的远程调用(Redsocks, ss-redir之类的远程调用)

Redsocks/ss-redir的实现 DNAT与REDIRECT模块在iptables target extension之列。 这两个模块都能根据参数,修改数据包的header中的目的IP和端口。 既然修改,那就不是附加,毕竟网络层传输层header的内容怎么可能随随便便增删呢,这意味着,数据包的真实目的地会被完完全全地抹掉! Redsocks/ss-redir收到这样的数据包后,不做特殊处理,何以知道这数据包原来想发给谁呢? 这些程序之所以能正常工作,得益于NAT的透明性,被NAT处理的数据包,在内核中均有所记录,NAT后的正常通讯由NAT发起者维持,Redsocks/ss-redir这 […]

Read more 2 Comments
Unix Like, 操作系统, 服务器

iptables GEOIP模块与国外IP自动使用代理

以前写过一篇文章:Windows下访问国外网站自动“突破网络封锁”(Shadowsocks),里面提供了一个iptables的规则,可以让几乎所有国外的IP均走Shadowskcs。 最近发现访问谷歌,Youtube不太顺利,经过排查,导致此问题的原因是最近解析得到谷歌和Youtube的IP,都被iptables的规则规划在了“中国IP”。 这时急需寻求新的规则,但要准确地找出中国的所有IP段,并非易事,恐怕得另辟蹊径。 霎时间想起编译OpenWRT时,留意到iptables有一GEOIP模块,遂尝试此模块。 在Debian类的发行版本中,要使用iptables的GEOIP模块,需要安装以下D […]

Read more No Comments
服务器, 未分类

利用IPTABLES对Shadowsocks统计流量

最近有人询问我,能否实现Shadowsocks的流量统计,当时我就想到了使用IPTABLES:使用IPTABLES实现对特定IP,端口流量的精确统计。 不过很可惜,出网并不存在特定端口,只有已经连接的用户的目标端口,而目标端口不是固定的。那也就不能简单通过–sport/–dport参数来匹配了。 这周想了数个方法,有多用户法,Shell Script监控法,xinted法,不过步骤均有点繁琐,且存在少许问题,均被放弃。   正常情况下,Shadowsocks服务监听着外网IP的端口,出网,入网IP均为公网IP,如果可以使Shadowsocks使用独立的IP做出 […]

Read more 12 Comments
Unix Like, 操作系统, 服务器, 未分类

解决安装OpenVZ vzctl 4.7后iptables nat表提示”can’t initialize iptables table `nat’: Table does not exist (do you need to insm Perhaps iptables or your kernel needs to be upgraded.”

几天前给一个服务器安装OpenVZ后,使用iptables添加nat规则时,出现错误提示:

执行lsmod看了下:

发现相关的NAT模块都已经加载,应该与内核无关。 更换内核回2.6.32-431.11.2.el6,问题还是如此,无奈之下重装系统。 安装系统后,我手动一个个下载OpenVZ的RPM包,一个个安装,然后重启后nat表是否可以使用,最后发现安装vzctl 4.7并且重启后,iptables的nat表就出问题了。 看了下官网,原来在OpenVZ在2014 […]

Read more 5 Comments