Articles of iptables

nf_conntrack.acct究竟做了什么?

我发现内核参数nf_conntrack.acct有趣,因为内核文档只是说“启用连接跟踪stream记账”。 我已经附加这grub并重新启动,我还没有发现任何区别。 例如,它与/proc/net/nf_conntrack文件有什么关系? 提前致谢!

通过AWS VPC NAT进行端口转发

是的,我已经浏览了互联网,并阅读了大多数stream行的IPTable / DNAT指南/页面/post。 我的问题 总结我有一个VPC和几个子网。 一个子网尤其需要EIP来连接互联网。 我有一个Web服务器居住在这个子网。 我需要从nat 后面访问它(也在同一个子网中,有一个EIP)。 我正在尝试设置我的NAT,以便发送到某个端口的传入数据包发送到不同的主机(实质上我需要DNAT) 第1部分:在VPC中: 我通过我的广域网可访问的SSH代理SSH进入我的NAT实例。 这是亚马逊NAT实例附带的默认IPTables。 没有什么特别的,只是像预期的POSTROUTE规则。 NAT实例只有一个接口, eth0(和lo,但让我们假装不存在) [root@IP_NAT ec2-user]# iptables -t nat -L –line-numbers Chain PREROUTING (policy ACCEPT) num target prot opt source destination Chain INPUT (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain POSTROUTING […]

我如何只允许某些IPSet集使用iptables访问某个端口?

我使用IPSet来为不同的国家build立IP范围如下: # Canada ipset -F ca.zone ipset -N ca.zone nethash for IP in $(wget -O – http://www.ipdeny.com/ipblocks/data/countries/ca.zone) do ipset -A ca.zone $IP echo $IP done 然后,我使用以下iptables规则阻止来自服务器上某些端口的国家/地区: iptables -A INPUT -m set –match-set fr.zone src -p tcp –dport 15765 -j DROP iptables -A INPUT -m set –match-set cn.zone src -p tcp –dport 15765 -j DROP iptables […]

使用具有两个NIC的Linux机箱在两个子网之间进行路由

我有一个有两个NIC的Linux盒子,每个都连接到不同的LAN: networkingA: 192.168.1.0 255.255.255.0 networkingB: 192.168.2.0 255.255.255.0 路由器是: 192.168.1.1 192.168.2.1 Linux网卡是: 192.168.1.2 192.168.2.2 我希望networkingA中的所有主机能够ping通networkingB中的所有主机,反之亦然。 到目前为止我所做的是: 在Linux上 : sudo sysctl -w net.ipv4.ip_forward=1 在192.168.1.1上 : route add 192.168.2.0 255.255.255.0 gw 192.168.1.2 在192.168.2.1上 : route add 192.168.1.0 255.255.255.0 gw 192.168.2.2 我尝试了两个不同的Linux发行版(Zentyal和Ubuntu),没有任何工作。 networkingA中的主机只能ping 192.168.2.2 ,但不能ping任何networkingB中的其他主机,反之亦然。 我究竟做错了什么?

Iptables基于目的地的DNS名称预先路由?

我有一个关于iptable预发布的问题。 我不熟悉networking/路由/ iptables,所以我希望这不是一个愚蠢的问题。 所以我要求你的理解和放纵。 我所做的是:我使用LXC来分隔容器中的应用程序。 为了访问一个容器中的服务(也许是apache2),我必须这样做prerouting: iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 20080 -j DNAT –to <container-ip>:80 到目前为止,这样做很好,工作应该如此。 假设主机系统也运行一个apache2(端口80)。 它有1个网卡和2个DNS名称分配: DNS1 (HostRecord)和DNS2 (别名DNS1 )我想要做的是不要使用dport,但通过使用DNS名称,以便: http://DNS1:80 #ends up at the host apache2 http://DNS2:80 #ends up at lxc-container's apache2 (at the the same host) 是否有可能,如果是的话,如何configurationiptables?

iptables表 – 修正处理中的错字

我今天花了一些时间审计我的iptables脚本。 我是一名软件工程师,而不是一位Ops专家,但我试图拿起iptables的基础知识。 我注意到了一些必须被打破了很长时间的东西: # Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0 -A INPUT -i lo -j ACCEPT -A INPUT -i lo -d 127.0.0.0/8 -j REJECT 好吧,看起来应该是这样的: -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT 对? 麻烦的是,服务器正在运行实时stream量。 虽然这看起来像一个无害的变化,我对待iptables有适当的尊重。 另外,这意味着我已经接受来自/ 8来自其他接口的stream量。 这在现实世界中意味着什么? 机器如何在不同的界面上接收来自127/8的任何请求?

iptables内容阻塞防火墙

我已经build立了一个防火墙与iptables基于内容ratelimit连接。 以下是我的规则之一停止WordPress的暴力破解的例子。 iptables -A INPUT -p tcp -m tcp –dport 80 -m string –algo bm –string "POST /wp-login.php" -m recent –set –name wp_brute –rsource iptables -A INPUT -p tcp -m tcp –dport 80 -m string –algo bm –string "POST /wp-login.php" -m recent –name wp_brute –rcheck –seconds 60 –hitcount 4 -j LOG –log-level=6 –log-prefix="Wordpress Attack:" iptables […]

防火墙:允许通过来源authentication的所有stream量。 一个打开的SSH连接

我正在寻找一种避免在testing和开发服务器上始终编辑防火墙规则的方法。 我不想打开所有的端口。 所以我想也许有一种方法来自动build立ssh连接来源的所有stream量。 (几年后,有人告诉我,他们是这样做的开发/testing服务器 – >没有根和防火墙编辑要求和应用程序不需要保护) 我知道我可以使用ssh隧道,但问题在于dynamic端口应用程序,多端口应用程序和纯粹的工作开销。 IpTables和其他防火墙可能不知道一个SSH连接是否通过身份validation,但有没有解决办法或替代? (例如build立超过5秒 – >发布/私钥自动断开失败) input下降 允许循环 允许SSH 允许本地networking 允许使用build立的ssh连接来源的所有stream量。 除了最后一条之外,所有的规则都是直截了当的。 不幸的是,我没有与我曾经谈过的人的联系信息,我不能在一个小时的研究中挖掘任何相关/相似的东西。 这样的事情甚至可能吗? 我很欣赏任何input:)

IPTABLES将端口redirect到另一个IP

我已经尝试了几个post来configuration此redirect,但不工作,这是我所需要的 我正在接收端口8080上的数据包,我想将数据包redirect到另一个IP在同一台服务器,为什么? 因为某些原因,它不会发送到互联网。 让我再详细一点。 服务器A正在将端口2525发送到服务器B,但它们不在同一个networking中。 我可以看到数据包进入服务器B,但他们不会去互联网。 服务器B有2个IP,一个是VPN服务器1,连接到服务器A,另一个IP有Internet访问。 我需要什么,或者我认为我需要的是将stream量从tun1redirect到具有Internet访问权限的IP,我尝试了不同的configuration,但是不起作用。 任何帮助将不胜感激。

OpenVPN – 阻止客户端到客户端的stream量

我有一个在Debian框上运行的OpenVPN服务器。 我想要做的是阻止连接到该OpenVPN服务器的客户端之间的所有stream量。 服务器的本地IP为10.10.10.1,客户端的IP地址为10.10.10.2-10.10.10.8。 我尝试使用iptables,但似乎客户端之间的stream量永远不会离开tun0,所以我不能阻止它。 我能做什么? 有一些iptables的规则,可以阻止接口内的stream量? (TUN0) 客户端到客户端在server.conf中未被启用,但由于某些原因,用户仍然可以相互ping通并相互通信。