AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-123098

Krista K's questions

Martin Hope
Krista K
Asked: 2014-01-15 02:46:12 +0800 CST

找不到 iptables mport 模块

  • 1

我正在用 Debian 服务器替换运行 Tomato 的无线路由器/防火墙,我很高兴找到了番茄的 iptables 配置,因此我可以直接将其导入新服务器(我之前的问题)。Tomato 的 iptables 配置文件(底部)iptables-restore在 Debian 中失败:

# iptables-restore < iptables.eth0-eth1
iptables-restore v1.4.14: Couldn't load match `mport':No such file or directory

Error occurred at line: 7
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

有没有办法让 mport 进入“现代”iptables?
或者你能帮我翻译mport一下multiport吗?

谷歌搜索iptables mport非常粗糙,但我最终发现有人抱怨 mport 不见了,并且一个多端口教程传递了对 mport 扩展的引用,这导致我窥探这两个盒子的文件系统的模块,并尝试了 Debian 拥有的每个“防火墙”工具,希望有一个神奇的来mport。我承认被 Tomato 的用户界面宠坏了——从那以后我尝试过的每个 Debian 软件包都让我越来越困惑(gui 或 cli)。如果我能让服务器简要地路由所有内容,我认为mason可能会起作用。难怪每个人都讨厌 iptables。

我花了更多的时间试图找出错误。如果我花了那么多时间试图理解iptables,我可能已经将mport规则翻译成multiport. 另外,我考虑过向 SuperUser 发帖,但是,少数 iptables 标记的问题与我在 ServerFault 中阅读的问题不同。


寻找模块:
我通过 ssh 进入带有tomato固件的无线路由器,我libipt_mport.so在/usr/lib/iptables. 但在/lib/modules/2.4.20/kernel/net/ipv4/netfilter目录中,没有libipt_mport.so,只有ipt_multiport.o。

在 Debian 盒子(wheezy 的全新安装)上,我使用updatedb和locate搜索MASQ(对于 MASQUERADE 对象),发现该目录
/lib/modules/3.2.0-4-amd64/kernel/net/ipv4/netfilter有一个很好的iptable_*文件数组nf_nat_* ko。搜索也找到libxt_multiport.so了/lib/xtables,但没有对对象模块的引用mport。

另外,下面还有其他问题吗?我看到了第 7 层的东西,感觉接下来会带来更多的复杂性。


Tomato 的配置文件:
注意:
» 99.1.81.209 是 WAN ip
» 10.0.0.2 是此 Debian 防火墙的 ip
» 10.0.0.20 是服务器
» 番茄的公共接口vlan0更改为eth0
» 番茄的内部接口br0更改为eth1
» 端口 5060:5090 用于 VoIP (可能不需要整个范围?)

*mangle
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:QOSO - [0:0]
-A QOSO -j CONNMARK --restore-mark --mask 0xff
-A QOSO -m connmark ! --mark 0/0xff00 -j RETURN
-A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x0-0x7ffff -j CONNMARK --set-return 0x2/0xFF
-A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x80000 -j CONNMARK --set-return 0x4/0xFF
-A QOSO -p udp --dport 53   -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p tcp --dport 53   -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p udp --dport 53   -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 53   -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp -m mport --ports 5060:5090  -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j CONNMARK --set-return 0x101/0xFF
-I QOSO -j BCOUNT
-A QOSO -j CONNMARK --set-return 0x4
-A FORWARD -o eth0 -j QOSO
-A OUTPUT -o eth0 -j QOSO
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth0 -d 10.0.0.2/255.255.255.0 -j DROP
-A PREROUTING -p icmp -d 99.1.81.209 -j DNAT --to-destination 10.0.0.2
-A PREROUTING  -p tcp -m tcp -d 99.1.81.209 --dport 22 -j DNAT --to-destination 10.0.0.2:22
-A PREROUTING -p tcp  -d 99.1.81.209 --dport 10022 -j DNAT --to-destination 10.0.0.20:22
-A POSTROUTING -p tcp --dport 22 -s 10.0.0.2/255.255.255.0 -d 10.0.0.20 -j SNAT --to-source 99.1.81.209
:upnp - [0:0]
-A PREROUTING -d 99.1.81.209 -j upnp
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth1 -d 99.1.81.209 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-N shlimit
-A shlimit -m recent --set --name shlimit
-A shlimit -m recent --update --hitcount 3 --seconds 60 --name shlimit -j DROP
-A INPUT -p tcp --dport 22 -m state --state NEW -j shlimit
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp  -m tcp -d 10.0.0.2 --dport 22 -j ACCEPT
:FORWARD DROP [0:0]
-A FORWARD -i eth1 -o eth1 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1461: -j TCPMSS --set-mss 1460
:L7in - [0:0]
-A FORWARD -i eth0 -j L7in
-A L7in -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j RETURN
:wanin - [0:0]
:wanout - [0:0]
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j wanin
-A FORWARD -o eth0 -j wanout
-A FORWARD -i eth1 -j ACCEPT
:upnp - [0:0]
-A FORWARD -i eth0 -j upnp
-A wanin  -p tcp -m tcp -d 10.0.0.20 --dport 22 -j ACCEPT
COMMIT
iptables
  • 1 个回答
  • 2567 Views
Martin Hope
Krista K
Asked: 2014-01-12 20:55:33 +0800 CST

将 iptables 配置从 Tomato 复制到 Debian 服务器

  • 1

我正在用具有双 NIC 的 ubuntu 服务器替换运行 Tomato 的无线路由器。我 ssh 进入了番茄路由器,并在/etc/iptables那里找到了所有规则,根据我正在阅读的内容,所有规则都是有意义的。一旦服务器设置并运行,我可能会使用 webmin。(当我写这个问题时,我已经在复制qos和dnsmasq设置文件)

设置 iptables 真的像更改接口名称并将相同的文件保存到 Debian 服务器一样简单吗?

番茄:(vlan1公共)、br0(私有有线)和eth1(私有无线)
Ubuntu:(eth0公共)和eth1(私有)。

接口名称更改的番茄配置文件:

*mangle
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:QOSO - [0:0]
-A QOSO -j CONNMARK --restore-mark --mask 0xff
-A QOSO -m connmark ! --mark 0/0xff00 -j RETURN
-A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x0-0x7ffff -j CONNMARK --set-return 0x2/0xFF
-A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x80000 -j CONNMARK --set-return 0x4/0xFF
-A QOSO -p udp --dport 53   -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p tcp --dport 53   -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p udp --dport 53   -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 53   -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp -m mport --ports 5060:5090  -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j CONNMARK --set-return 0x101/0xFF
-I QOSO -j BCOUNT
-A QOSO -j CONNMARK --set-return 0x4
-A FORWARD -o eth0 -j QOSO
-A OUTPUT -o eth0 -j QOSO
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth0 -d 10.0.0.2/255.255.255.0 -j DROP
-A PREROUTING -p icmp -d 99.165.243.155 -j DNAT --to-destination 10.0.0.2
-A PREROUTING  -p tcp -m tcp -d 99.165.243.155 --dport 22 -j DNAT --to-destination 10.0.0.2:22
-A PREROUTING -p tcp  -d 99.165.243.155 --dport 8822 -j DNAT --to-destination 10.0.0.20:22
-A POSTROUTING -p tcp --dport 22 -s 10.0.0.2/255.255.255.0 -d 10.0.0.20 -j SNAT --to-source 99.165.243.155
:upnp - [0:0]
-A PREROUTING -d 99.165.243.155 -j upnp
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth1 -d 99.165.243.155 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-N shlimit
-A shlimit -m recent --set --name shlimit
-A shlimit -m recent --update --hitcount 3 --seconds 60 --name shlimit -j DROP
-A INPUT -p tcp --dport 22 -m state --state NEW -j shlimit
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp  -m tcp -d 10.0.0.2 --dport 22 -j ACCEPT
:FORWARD DROP [0:0]
-A FORWARD -i eth1 -o eth1 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1461: -j TCPMSS --set-mss 1460
:L7in - [0:0]
-A FORWARD -i eth0 -j L7in
-A L7in -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j RETURN
:wanin - [0:0]
:wanout - [0:0]
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j wanin
-A FORWARD -o eth0 -j wanout
-A FORWARD -i eth1 -j ACCEPT
:upnp - [0:0]
-A FORWARD -i eth0 -j upnp
-A wanin  -p tcp -m tcp -d 10.0.0.20 --dport 22 -j ACCEPT
COMMIT

编辑添加:我也一直在阅读这两个伟大的资源: http:
//oceanpark.com/notes/firewall_example.html
http://www.novell.com/coolsolutions/feature/18139.html


编辑添加:
1. 最终更改为 Debian。Ubuntu 12.04 LTS 需要太多的 hack 才能在我的硬件上工作。
2.iptables不识别mport模块,但这是一个不同的问题。

iptables
  • 1 个回答
  • 826 Views
Martin Hope
Krista K
Asked: 2014-01-01 18:56:34 +0800 CST

小型企业网络的改进?

  • 15

我的问题或多或少是这个 3 年老问题的更新版本:小型企业网络交换机/一般网络配置

总结
一切都是千兆的,我们对网络性能没有任何真正的抱怨。我真正的问题是:对于我们这里的 4 或 5 个人来说,下一步是否有意义?

网络信息
我的小型企业的非正式网络以一个中央 16 端口戴尔交换机和星形布局的文件服务器为中心。内部服务器是一个Debian samba ,在 UPS 上共享RocketRaid 硬件 RAID6,经过关机测试和工作。每当我进行开发工作时,我都会将文件服务器用于 http 或 MySql 应用程序。我们的域电子邮件由 Google Apps 托管,自 Beta 版以来我们一直在使用它,我们喜欢它。我喜欢我在这两个 QA 上阅读的内容:办公室布线指南和网络文件共享的最佳实践?.

当前网络配置

直到前两天我开始准备这个问题,我才意识到一个人可以登录到戴尔交换机来管理它。(捂脸)

哦,它变得更好!我在公司四处闲逛,用以太网电缆为所有东西拍照。原来我有一些遗产困扰着我!6 多年前,我们有一台带有 2 个 NIC 的服务器,我的 IT 帮助朋友说服我在第二个端口上放置一个 DMZ。从 1990 年代初开始,这个技巧的转换很容易:我记得在 1997 年被 AOL 收购的一家公司的垃圾箱里弄到了它!太老了,google不出来。因此,多亏了我最近重新安装服务器并阅读了有关 serverfault 的信息,我摆脱了这种悲伤。编辑添加:还没有注意到工作中的差异,但是 scp 文件从工作到家(从家里启动)现在明显更快,因为 10/100 开关消失了!

20 多年前不属于它的技术

凭借准备和运气,我们经历了一些失败。现在,我对一切都很满意,但我怀疑我将很快更换防火墙并切换......

问题:
有什么简单的方法可以提高性能吗?

得到一个带有光纤端口的交换机然后在服务器上放入一个光纤网卡是否有意义?从我一直在做的阅读来看,局域网似乎在千兆位上保持稳定,从那时起对于小人们来说并没有发生什么真正的新事情。

我什至没有用谷歌搜索如何登录戴尔交换机,所以我假设它是不受管理的。我打算访问网络服务器的交换机,所以我检查了 DHCP 服务器(在防火墙框上),并且交换机没有出现在客户端中。我只是了解了所有这些内容的皮毛:交换机和 RAID 服务器应该使用大数据包还是什么?

在 Office 计算机处理我们的视频之前,网络负载通常非常缓慢。现在,它们不能从 RAID 中实时提供,而是来回复制。我从 RAID 中完成所有 CAD,但它使用本地暂存器并节省 40M+ 需要 10 秒左右。

插图是使用 Inkscape 制作的。我尝试了一些网络图表工具,手工绘制一切更容易。可根据要求提供 SVG


编辑更新
我在机架上工作,移动了防火墙宏基计算机,它的硬盘死了。从bios中消失了,可能是控制器。是的,从字面上看,触摸计算机以将其从后架移动到前架会杀死它。目前,Buffalo WHR-HP-G54 已重新配置并执行防火墙任务,直到已经订购的双 NIC 新防火墙盒出现。从家里进行 SCPing 似乎比带有 USB-> eth 适配器的旧防火墙慢一点。我用谷歌搜索发现它的 WAN 端口是 10/100。

观察结果:
1) 从防火墙 Acer 到电缆调制解调器的传统 10/100 链路比从防火墙到调制解调器的链路为千兆时慢。
2) Buffalo WHR-HP-G54 WAN 端口与调制解调器的 10/100 链接比全千兆时慢。
3) TU2-ETG 的USB2.0 连接速度超过10/100。
4) Cox Biz 电缆上传速度超过 10/100。

一旦新开关出现(带有分析),我将查看 Evan 和 Chris 的答案,尝试 Evan 建议的测试,然后在它们之间选择“接受”。


最后结果

获得这个问题的“答案”是一个惊人的三周旅程。谢谢克里斯和埃文:很难选择接受谁的答案。

看到更好的开关成本有多便宜,我买了一台 hp ProCurve V1910-24G。它的成本低于 5 年前戴尔的成本。它很亮只是我买它的一半原因;戴尔至少有 6 年的历史,虽然仍然表现良好,但我将不得不制定一个关于淘汰超过 5 年的硬件的规则。

话虽如此,ProCurve 产生了一个新问题(我希望能对我在这里提到的功能进行一些思考),但我非常高兴能够消除所有桌面开关。这听起来像是另一条规则,也许那些进入枪支保险箱?

下面是修改后的图。值得注意的是,我移动了 Cox Cable 同轴电缆“T”,电缆调制解调器现在位于机架中。通往电信角的两条 CAT5 电缆现在专用于为 Cisco VoIP 盒供电,因此电信角现在只为电话服务。此外,图中的布线反映了基础设施的物理现实,包括交换机端口。大多数电缆都是成对的,我为摆脱办公室交换机而创建的最新“分支”有三根 CAT6 电缆连接它。

当前更新的网络图





有史以来第一次,我对与我的交换机和防火墙/路由器相关的布线感到满意!左下方是电缆调制解调器,右上方是 pfsense mini-ITX 防火墙/路由器:

我的架子

开关向后退了一些:我实际上不喜欢它“齐平”地安装在机架中,所以我制作了一些适配器,将开关从机架前部向后退了大约 10 英寸。惠普/康柏服务器机柜有额外的导轨,所以我利用了这些。机柜可以自由地向前滚动以允许进入后门。Wifi AP 位于机柜顶部,多余的盘绕网络电缆也是如此。

黄色以太网电缆是 CAT6,我从 StarTech 以 7 美元购买了 75 英尺的交叉电缆,并且有充气室。那真是太划算了,我买了几十个,并且非常擅长安装千斤顶。(+ 已记住 T568B 线材颜色顺序)

此设置明显比以前快!当我ssh -X在家并从工作服务器上运行浏览器窗口时,它的速度比我记得的 14.4k 调制解调器要快,所以它的速度似乎是我登录并需要从 LAN 内浏览网页时的 3 倍。在工作中,打开文件的速度就像驱动器没有联网一样快。如果我已经运行了 photoshop cs6,那么从 raid 中打开 6M jpeg 是瞬间的。

此外,我意识到从 raid 到交换机的电缆是无线路由器等随附的 CAT5 电缆之一,因此我用 2' CAT6 电缆替换了它,并且可以通过我的 Photoshop 实验来判断性能提升之前/之后。现在从电缆调制解调器到防火墙再到服务器的所有 CAT6。我的办公桌现在有来自交换机的 CAT5,但只要我打开一堵墙,我就会升级。

一旦安顿下来,我就会赶上日常工作,我将尝试对网络的性能进行基准测试。现在,我很确定它不会比应用摆脱开关和不必要的硬件的最佳实践建议更好。硬件 raid 控制器已有 6 年以上的历史,因此即将推出新的。一旦发生这种情况,这将退回到档案职责。

networking
  • 3 个回答
  • 2922 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve