我已经启用CollectD:IPTables插件来跟踪到两个不同服务器组的stream量: LoadPlugin iptables <Plugin iptables> Chain "filter" "TRACK_TRAFFIC_SERVER_A" "monitoring_traffic_server_a" Chain "filter" "TRACK_TRAFFIC_SERVER_B" "monitoring_traffic_server_b" </Plugin> 插件为types为ipt_bytes和ipt_packets的每个链返回元组。 现在我想有一个度量标准,它提供了发送给SERVER_A和SERVER_B的ipt_bytes和ipt_packets的总和。 为此,我启用了CollectD:Aggregation插件来提供这个指标。 这是当前configuration不起作用 : LoadPlugin aggregation <Plugin "aggregation"> <Aggregation> Plugin "iptables" Type "iptables" GroupBy "Host" GroupBy "TypeInstance" GroupBy "Type" CalculateNum false CalculateSum true CalculateAverage false CalculateMinimum false CalculateMaximum false CalculateStddev false </Aggregation> </Plugin> 如何configuration聚合插件来处理Collectd :: IPTables的输出?
我有一台运行在Ubuntu 14.04上的云服务器,它连接着一个IPsec隧道。 服务器有一个真实的接口,公网IP xxxx和虚拟接口172.16.100.1所有到远程networking的stream量都应该通过IP 172.16.100.1的虚拟接口路由。所以我build立了一个路由条目。 这适用于在该服务器上生成的所有通信。 route add -net 172.17.1.2/21 gw 172.16.100.1 dev eth0:1 但另一个要求是,如果云服务器接收到具有特定端口的公共IP上的stream量,则该stream量也应该被转发到远程networking。 我试图通过添加一个IP表条目: iptables -t nat -A PREROUTING -p tcp –dport 45678 -j DNAT –to-destination 172.17.1.2:29871 但问题是,它以某种方式忽略了路由configuration,只是转发请求与其源IP,而不是使用172.16.xx 那configuration是正确的方法,还是我完全错了? 还有什么我必须configuration转发正确的stream量?
我一整天早上都在读firewalld,然后想出下面的公共区域: <?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <source address="167.114.37.0/24"/> <source address="92.222.185.0/24"/> <source address="92.222.184.0/24"/> <source address="92.222.186.0/24"/> <source address="149.202.34.10/32"/> <service name="dhcpv6-client"/> <service name="http"/> <service name="ssh"/> <service name="https"/> </zone> 我能想到的最好的办法是,这个区域应该只允许这些端口/服务的传入连接,并提供对这些子网的完全访问。 但是,当我用nmap扫描我的服务器时,我得到了开放端口的小船(我绝对不在白名单子网中的一个)。 PORT STATE SERVICE […]
运行在最新的内核(4.4.6)上的服务器已经configuration了一个绑定设备( bond0 ),它带有两个受限制的接口eth0 , wlan0和主接口eth0 。 cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: eth0 (primary_reselect always) Currently Active Slave: wlan0 MII Status: up MII Polling Interval (ms): 1000 Up Delay (ms): 1000 Down Delay (ms): 1000 Slave Interface: wlan0 MII Status: up Speed: Unknown Duplex: Unknown […]
我目前正在设置IPtables来将某些UDP有效载荷redirect到我的应用程序。 这是我迄今为止工作的一个例子: iptables -t nat -I PREROUTING -p udp -d {IPDST} –dport 27055 -m u32 –u32 '0>>22&0x3C@8=0xFFFFFFFF && 0>>22&0x3C@12=0x54536F75 && 0>>22&0x3C@16=0x72636520 && 0>>22&0x3C@20=0x456E6769 && 0>>22&0x3C@24=0x6E652051 && 0>>22&0x3C@28=0x75657279' -j REDIRECT –to-port 21015 这是工作,它将redirect包含有效载荷的数据包: FFFFFFFF54536F7572636520456E67696E6520517565727900 从一个端口到另一个端口。 问题是,我有另一个我希望redirect的数据,但是这一直是不一样的。 数据包看起来像这样: ffffffff55ffffffff 但是,数据包有时也可能如下所示: ffffffff55fa0cf40f 我试过这样的东西: iptables -t nat -I PREROUTING -p udp -d {IPDST} –dport 27055 -m u32 –u32 '0>>22&0x3C@8=0xFFFFFFFF […]
我有一个列表,下面的命令创build ipset create foo hash:ip maxelem 40000000 timeout 180 这是如何虚空看起来像 #ipset list foo Name: foo Type: hash:ip Revision: 1 Header: family inet hashsize 1024 maxelem 40000000 timeout 180 Size in memory: 16504 References: 0 Members: 然后我添加了一个/ 16子网,这意味着65535个IP地址。 正如我们可以看到下面的命令,哈希大小dynamic改变和IP地址添加成功。 #ipset add foo 192.168.0.0/16 #ipset list foo | head -10 Name: foo Type: hash:ip Revision: 1 Header: […]
我在泊坞窗容器中运行VPN客户端。 我试图通过端口8080从主机连接到在Docker容器中运行的Web服务器。当我尝试连接时,通过tcpdump在端口8080上看到我的传入数据包,但Web服务器从来没有看到它。 我已经添加了iptables'-j LOG'规则来处理所有可能的数据包状态转换,试图追踪它。 我看到的数据包在: 表'原料',连锁PREROUTING 表“mangle”,链式PREROUTING table'nat,链PREROUTING 然后…什么都没有 经过一段时间后,数据包重新发送,我看到新数据包经过PREROUTING。 没有任何东西出现在破碎的input或破损链上 – 据我所知,这是不可能的 – 它必须击中其中之一。 有没有办法让数据包通过PREROUTING,但不打中INPUT或FORWARD? 我的iptables如下: root@87ff7ad8e4f9:/# iptables -t raw -L Chain PREROUTING (policy ACCEPT) target prot opt source destination NFLOG tcp — anywhere anywhere tcp spt:http-alt nflog-prefix "raw pre-route Src incoming packet" NFLOG tcp — anywhere anywhere tcp dpt:http-alt nflog-prefix "raw pre-route Dest […]
我想用u32 iptable的分机来匹配mdshash cookie的RDP数据包。 在Debian Jessie上 Linux version 3.16.0-4-amd64 ([email protected]) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) 下一个规则有效(TPKT v3,长度为47): -m u32 –u32 "0>>22 & 0x3C @ 12>>26 & 0x3C @ 0=0x0300002f" 但是如果接下来的4字节检查为COTP PDU“CR连接请求”添加: -m u32 –u32 "0>>22 & 0x3C @ 12>>26 & 0x3C @ 0=0x0300002f && 0=0x2ae0000" 规则不再匹配。 但是我需要在数据包中检查更多的字节序列。 我要检查的数据包的一部分: 0x0030: ffff […]
build立 我有一个OpenVPN服务器在AWS中运行良好。 我的团队中的每个人都可以使用它来访问AWS中的任何服务器。 需要 现在我有一个新的需要。 现在,AWS中的服务器需要能够通过VPN连接到一台(但一切正常)。 从VPN服务器本身,我可以到达机器(这是一个路由器)和它可以在networking上看到的所有机器。 但是,AWS中的其他服务器都不可以。 问题 哪里是正确的地方广告(数据中心的机器)请求10.10.10.0/16(远程VPN连接站点)的请求应通过我的VPN服务器路由? 我使用VPN服务器地址上的哪个接口? 细节 AWS VPC CIDR:172.31.0.0/16 openvpn.conf: push "route 172.31.0.0 255.255.0.0" OpenVPN服务器IP:172.31.17.151 OpenVPN服务器客户端CIDR:172.141.0.0/17 openvpn.conf: server 172.141.0.0 255.255.128.0 客户:10.10.10.1 openvpn.conf: route 10.10.10.0 255.255.255.0 openvpn.conf: push "route 10.10.10.0 255.255.255.0" ccd / commonname: ifconfig-push 10.10.10.1 10.10.10.2 ccd / commonname: iroute 10.10.10.0 255.255.255.0 客户端:10.10.10.101 OpenVPN的ifconfig : eth0 Link encap:Ethernet HWaddr […]
我在Debian Jessie上使用了ipset 6.23-2。 我创build了一个hash:net set和一个iptables规则来删除集合中地址的所有stream量。 Chain INPUT (policy ACCEPT) target prot opt source destination DROP all — anywhere anywhere match-set Example-Set src 我习惯于'不匹配'选项来添加我的内部服务器的networking。 我认为它会像一个排除工作,所以它基本上是傻瓜式的,我不会意外地把自己锁在我的服务器(或我的一个同事)之外。 Name: Example-Set Type: hash:net Revision: 6 Header: family inet hashsize 1024 maxelem 65536 comment Size in memory: 3424 References: 1 Members: 10.50.7.0/24 nomatch comment "# 2017-09-14" 但是,当我在子网内添加一个特定的IP(例如10.50.7.30)并且丢弃了该IP的所有stream量时,它仍然匹配。 Name: Example-Set Type: hash:net […]