Articles of iptables

在eth0-> eth1和IP-NAT eth0-eth2之间桥接802.1xstream量

概要: 给定一个具有3个物理以太网接口的Linux系统(Ubuntu 16.04): eth0:WAN eth1:EAPoL authenticator eth2:客户端LAN 我试图configuration这个: 桥br0:eth0 – eth1 ebtables规则只转发EAPoLstream量 IP NAT的剩余stream量br0 – eth2(除了types为EAPoL的以太网帧之外的所有东西) eth0端口将使用伪装的mac(匹配EAPoLauthentication者) 希望的最终结果是连接到eth2的客户端计算机可以连接到WAN。 广域网需要802.1xvalidation,将桥接到连接到eth1的EAPoLvalidation器设备。 最初,我受到这篇文章的启发,但是在configuration方面却遇到了麻烦: https://www.dslreports.com/forum/r30708210-AT-T-Residential-Gateway-Bypass-True-bridge-mode 问题: 1.)桥configuration似乎工作,tcpdump会告诉我eth1上的EAPoLstream量,但是我有麻烦得到DHCP获得DHCP信息,使用dhclient挂起。 我不知道我在这里理解vlan的目的,如果我欺骗eth0的mac是这个部分甚至是必要的? 2.)我不清楚如何将eth0 eth2之间的剩余stream量(不是EAPoL的所有内容)进行NAT转换。 我只是在接口本身之间定义一个iptables NAT,就像这样: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth2 -j ACCEPT iptables -A INPUT 1 -i eth2 -j ACCEPT 我遇到的问题是,我可以configuration一个或另一个,而不是两个。 我可以让系统在eth0 eth1之间桥接EAPOL,或者我可以在eth0 […]

IPTables哈希限制 – 以上不正确的计数

我目前在尝试设置IPTables的规则来限制某些数据包时遇到了麻烦。 我不能在iptables上使用正常的限制模式,因为这必须按照dstip和dstport。 规则如下所示: iptables -A PREROUTING -t raw -p udp -m hashlimit -m u32 –u32 "0x0>>0x16&0x3c@0x9&0xff=0x55" –dport 27015:27105 –hashlimit-mode dstip,dstport –hashlimit-above 500/sec –hashlimit-name PLAYERQUERY -j DROP 这似乎工作正常,并会有显着的数额进来时,速度限制,但我可以看到即使在500 /秒的限制下,随机数据包被丢弃。 我正在使用我们的节点上的wiresharkvalidation这一点,我只能看到20秒一秒。 有些数据包的另外两个示例过早丢失:与另一个规则相同的随机丢失: iptables -A INPUT -m hashlimit -m tcp -p tcp –dport 80 -i eth0 –hashlimit-above 256/sec –hashlimit-burst 512 –hashlimit-mode srcip –hashlimit-name reg_html1 -m state –state NEW […]

如何使用iptables xt_cluster创build多节点群集?

一段时间以来,我们一直在使用ipt_CLUSTERIP,大概在一年前它已经被弃用了(仍然可用,并且在最新的内核中工作),以支持xt_cluster。 我很好奇xt_cluster,想试试看,但似乎无法find任何文档/参考/示例。 有没有人有任何经验,或者他们可以指向我的一个很好的信息来源?

具有多个目标的Linux 2.6 / Netfilter / Netmap

我想创build到另一个networking的VPN连接,但是我们必须将我们的地址(172.16.0.0/22)映射到一个新的IP,因为目标networking也使用我们的IP。 所以我们试图用NETMAP目标设置这个连接。 我们希望在目的地的3个networking中访问服务:1.1.0.0/17,3.3.0.0/16,5.5.0.0/16(仅举例!)也不可能映射我们的networking1:1,但是我们有只有一个目标networking(192.168.72.1)接受的IP地址。 我configuration了以下nat规则: Chain eth0_in (1 references) target prot opt source destination NETMAP all — 1.1.0.0/16 192.168.72.1 172.16.0.0/22 NETMAP all — 3.3.0.0/16 192.168.72.1 172.16.0.0/22 NETMAP all — 5.5.0.0/16 192.168.72.1 172.16.0.0/22 Chain eth0_masq (1 references) target prot opt source destination MASQUERADE all — 172.16.0.0/16 anywhere policy match dir out pol none SNAT all — 172.16.0.0/16 […]

将SNMP陷阱转发到不同的端口

我们有一个从各种设备接收陷阱的系统。 由于系统不以root身份运行(并且不能运行),所以它监听非默认端口(在我们的例子中是2162而不是162)。 问题是我们pipe理的一些设备总是把它们的陷阱发送到默认的162端口。 因此,我们需要将在162号港口进入的陷阱转发到2162号港口。 我试过以下,但它不起作用(它不会转发任何东西): iptables -t nat -A PREROUTING -i eth0 -p udp –dport 162 -j REDIRECT –to-port 2162 iptables -A FORWARD -p udp –dport 2162 -j ACCEPT 我是软件工程师,而不是系统pipe理员,对于iptables,networking,NAT等知之甚less。 我得到了上面的一些谷歌search一点。 由于UDP数据包的发送者是非常重要的,我们不能简单地创build一个以root身份运行的小进程来接收端口162上的陷阱并创build新的进程发送到端口2162。 它会改变发送地址。 iptables -t nat -L -n -v的输出是: Chain PREROUTING (policy ACCEPT 11339 packets, 2709K bytes) pkts bytes target prot opt in out source […]

iptables – 如何匹配一个TCP数据包根据tcp选项的值?

我试图匹配在他们的TCP选项字段中的特定值的数据包。 例如,我想匹配MSS值大于1400的所有数据包。 我发现iptables有一个–tcp-option参数,但是这个参数只检查指定的选项是否存在于数据包中。 我也知道我可以使用u32扩展匹配任何字段。 但是由于tcp选项是dynamic的,它们在数据包中的位置可以根据其他选项的存在而改变 而且TCP选项和我想匹配的值将是dynamic的。 因此,我必须能够支持IETF指定的所有TCP选项。

OpenVPN客户端与静态IP

我的networking使用OpenVPN连接分支到分支,但现在我无法在OpenVPN路由器上固定静态IP 用户(openvpn客户端窗口)>>总公司服务器>>软件pipe理>>分支(路由器Linksys wrt1200ac)>>手指扫描 总公司主服务器 em1:192.168.10.2本地 em2:111.123.456.789公共IP vbox:192.168.10.10:软件pipe理(从分支中提取数据) 这台服务器为每个分支安装了OpenVPN和OpenVPN客户端, 但现在我需要修复IP OpenVPN路由器(wrt1200ac)和指纹扫描设备连接到192.168.10.10(软件pipe理) 这是我的server.conf # Which local IP address should OpenVPN # listen on? (optional) ;local abcd # Which TCP/UDP port should OpenVPN listen on? # If you want to run multiple OpenVPN instances # on the same machine, use a different port # number for each one. […]

UFW:将iptables规则翻译成UFW

这是iptables的规则: -A INPUT -i eth0 -s 10.2.0.51,10.2.0.52 -d 228.0.0.3 -j ACCEPT 我怎样才能把它翻译成ufw规则? 我试过了: root@localhost:~# sudo ufw allow from 10.2.0.51,10.2.0.,52 to 228.0.0.3 to any port ERROR: Wrong number of arguments root@localhost:~# sudo ufw allow from 10.2.0.51,10.2.0,52 to 228.0.0.3 to any port proto tcp ERROR: Wrong number of arguments 我错过了什么?

是我的TPS TPS的iptables好吗?

我已经尝试谷歌周围获得我的FTPS与TLS(proftpd)iptables killswitch我现在有工作(见https://www.reddit.com/r/linuxquestions/comments/57mga5/is_my_iptables_killswitch_working_have_some_p/ ) 。 我使用FTPS的端口10210和无源端口的60100-60119,这个stream量不通过VPN。 我已经拿出了这个(他们在最后一个下降线上): # Allow traffic via TLS FTPS iptables -A INPUT -p tcp -m tcp –dport 10210 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT # It seems to be working without the line under #iptables -A INPUT -p tcp -m tcp –dport 20 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPT iptables -A INPUT […]

Iptables接受策略

我想知道在iptables中接受和放弃策略有什么区别。 以下是我认为它的工作原理: 丢弃策略将丢弃所有数据包,除了那些您制定规则的数据包。 所以你手动打开端口和其他端口是closures的。 接受策略将接受除您制定规则的那些数据包之外的所有数据包。 因此,目前有些服务正在工作的所有端口都是打开的,而其他端口是closures的。 我做了一些研究和大部分人的build议下降政策,因为它更安全。 我想只要你知道你正在运行什么服务,根本就没有什么区别。 有人可以告诉我,如果我错了,解释。