Articles of iptables

LXC,端口转发和iptables

我有一个主机上运行的LXC容器( 10.0.3.2 )。 服务在端口7000上的容器内运行。 从主机( 10.0.3.1 , lxcbr0 ),我可以达到服务: $ telnet 10.0.3.2 7000 Trying 10.0.3.2… Connected to 10.0.3.2. Escape character is '^]'. 我很乐意让这个服务在外面的世界里运行。 因此,我想将主机上的端口7002转发到容器上的端口7000 : iptables -t nat -A PREROUTING -p tcp –dport 7002 -j DNAT –to 10.0.3.2:7000 其结果是( iptables -t nat -L ): DNAT tcp — anywhere anywhere tcp dpt:afs3-prserver to:10.0.3.2:7000 不过,我无法使用转发的端口从主机访问服务: $ telnet […]

iptables:hashlimit与最近的源IP限速

我想在iptables中执行每个源IP的速率限制。 例如,将主机可以build立新的SSH连接的速率限制为每分钟5个。 据我所知有两种方法可以做到这一点: 使用哈希限制模块 iptables -A INPUT -p tcp –dport 22 -m state –state NEW \ -m hashlimit –hashlimit-name SSH –hashlimit-above 5/min \ –hashlimit-mode srcip -j REJECT iptables -A INPUT -p tcp –dport 22 -m state –state NEW -j ACCEPT 随着最近的模块 iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent \ […]

iptables – 只允许来自局域网的连接

有没有办法拒绝所有的external traffic (WAN) SSH和只允许本地stream量(192.168.0.1 to 192.168.0.255)和什么将是规则?

通过OpenVPN进行端口转发

这是我的场景。 我有三个主机。 1)运行OpenVPN服务器的GATEWAY。 它有1个LAN IP(192.168.1.10)和1个OpenVPN IP(10.8.0.1)。 2)LOCAL-CLIENT,与GATEWAY在同一局域网内的一台机器,有一个局域网IP(192.168.1.12) 3)REMOTE-SERVER,一个作为OpenVPN服务器客户端的MySQL服务器。 它有1个公共IP和1个OpenVPN IP(10.8.0.51)。 我希望能够通过VPN从LOCAL-CLIENT连接到远程服务器上的MySQL。 到目前为止,我已经启用了IP转发,并添加了像这样的端口: echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A OUTPUT -p tcp –dport 3306 -j DNAT –to 10.8.0.51 这从GATEWAY的作品,我可以连接到MySQL使用192.168.1.10作为主机。 但是,当我从本地客户端尝试时,我得到一个“连接被拒绝”错误(使用MySQL客户端或telnet端口3306)。 我在这里错过了什么? 顺便说一句,我也试着转发HTTP端口来testing运行在REMOTE-SERVER上的Apache,我也得到了相同的结果,所以这不是MySQL的问题。 更多信息: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.8.0.0 […]

我怎样才能在Ubuntu中loggingiptables在/ var / log /防火墙与rsyslogd

我正在使用Ubuntu 10.10。 用iptables! 我想将我的防火墙丢弃在文件/ var / log / firewall中,而不是logging在任何其他日志文件中。 所以我在我的文件中添加了以下行:/etc/rsyslog.d/50-default.conf: #iptables Log kern.warning /var/log/firewall.log 这样我从iptables的drop和日志就会login到正确的文件! 现在我不知道要添加什么才能将日志logging到其他文件中。此时,它将/ var / log / messages /var/log/kern.log和/ var / log / syslog Heeeelp 🙂 我发现这一个: 添加一个本地应用程序从系统日志从/ var / log / messages排除,但它不工作..也许是因为它在Ubuntu 10.10 Rsyslogd? 谢谢!

每个用户路由似乎没有工作

所以,我试图实现每个用户的路由,以便我能够通过VPN路由所有btpd洪streamstream量。 不幸的是,btpd目前不允许你绑定到一个特定的IP地址。 🙁 我决定尝试遵循这个指南 。 基本上,你标记任何数据包,然后对数据包做SNAT或DNAT或MASQUERADE,然后使用ip规则强制一个特定的路由表。 最后,我的设置: (To my router) eth1 Link encap:Ethernet HWaddr 00:0a:cd:18:8a:ae inet addr:172.29.5.10 Bcast:172.29.5.255 Mask:255.255.255.0 inet6 addr: fe80::20a:cdff:fe18:8aae/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2073338425 errors:0 dropped:0 overruns:0 frame:0 TX packets:2031270514 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3014149031 (2.8 GiB) TX bytes:1897259705 (1.7 GiB) Interrupt:17 Base address:0x6c00 (my […]

iptables新的连接与–syn

有什么区别: iptables … -m state –state NEW 和 iptables … –syn 第一个应该selectNEW连接,但是AFAIK新的连接是通过发送TCP syn标志来完成的。 另一个意思就是 – 带有syn标志的数据包。 你可以给任何实际的例子,当上述命令返回不同的结果?

有关国家和政策的防火墙问题?

我终于设法安装我的虚拟主机,现在我正在搞iptables创build,testing和学习。 如果我把下面的规则放在我的规则的开始或结束时,是否有关系? $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP 我已经testing,没有什么区别,但我想确认。 回答我目前select:尽早实施您的政策是一个好主意。 把它们放在一开始。 内部stream量的DROP规则可能会导致问题。 有下面的规则会被认为是防火墙上的错误? $IPT -A OUTPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT 没有这个规则,我需要添加例如一个输出规则为我的SSH连接,例如: $IPT -A OUTPUT -p tcp –sport 2013 -j ACCEPT 答案:在-m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT @ freenode上进行了更多的testing并与人交谈之后,我得出结论:使用-m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT INPUT和OUPUT是一个很好的方法,它将帮助你处理大量像FTP这样的东西,并且是一个很好的解决scheme,因为除非你给定的端口打开并且被接受,否则就不会有恶意的连接。 这是一个正常的例子,不使用上面的例子: $IPT -A […]

防火墙仍然阻止端口53尽pipe上市,否则?

我有3个节点,实际上从bash脚本加载了相同的iptables规则,但是一个特定的节点阻止了端口53上的stream量,尽pipe列出了它接受它: $ iptables –list -v 链INPUT(策略DROP 8886包,657K字节) pkts字节目标人选退出源目的地 0 0接受所有 – 任何地方的任何地方 2 122 ACCEPT icmp – 任何地方的任何地方icmp echo-r​​equest 20738 5600K接受所有 – 任何地方的任何地方状态相关,build立 0 0 ACCEPT tcp – eth1任何地方node1.com多端口dport http,smtp 0 0 ACCEPT udp – eth1任何地方ns.node1.com udp dpt:domain 0 0 ACCEPT tcp – eth1 any any ns.node1.com tcp dpt:domain 0 0全部接受 – eth0任何node2.backend在任何地方 21 1260 […]

iptables检查脚本语法

有没有什么办法来testing/检查iptables规则脚本的语法,而不修改实际的防火墙configuration(我认为添加和删除每个规则不是最好的方法…)。 我知道的-C选项,但它不检查选项像链,它的返回代码有点棘手,因为1并不总是意味着语法是正确的。 谢谢!