Articles of iptables

Linux:如何在启动时configuration辅助IP地址?

问候专家, 我在这里configuration了一个不错的小型Linux防火墙机器。 内部networking(10.0.0。*)为eth1 ,外部networking为eth2 (65.130.27.69/27)。 eth0目前没有被使用。 (顺便说一下,我使用的是假IP地址,我不知道这些人是谁。) 我已经完成了所有iptables的工作,并且使用DNAT进行了适当的设置,这一切都很好,我更新了/etc/sysconfig/iptables 。 都好。 这是它获得乐趣的地方。 我们在这里有一堆IP,另一台服务器想要接收80端口的stream量,但是在不同的IP上。 我将规则添加到iptables中,然后将辅助IP添加到eth2如下所示: # ip addr add 65.130.27.70/27 dev eth2 broadcast 65.130.27.79 那工作: # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000 link/ether 08:00:09:dc:f4:c1 brd ff:ff:ff:ff:ff:ff […]

在启动时加载手动创build的iptables脚本

目前我使用iptables-save生成的脚本在启动时加载。 这是/etc/iptables.rules的[部分]内容: # Generated by iptables-save v1.4.4 on Sat Mar 19 15:35:11 2011 *nat :PREROUTING ACCEPT [218073:19652132] :POSTROUTING ACCEPT [75792:5067692] :OUTPUT ACCEPT [68177:4555584] -A POSTROUTING -o eth2 -j MASQUERADE COMMIT # Completed on Sat Mar 19 15:35:11 2011 而且我应该在防火墙的etc/network/interfaces下的etc/network/interfaces有这一行: pre-up iptables-restore < /etc/iptables.rules 这个系统对我来说是很乏味的,因为我必须经常改变规则,每当我改变规则时,我需要生成另外一个iptables.rules文件,然后进行系统启动,看看这些规则是否适用。 它可以像在每次service firewall restart完成时加载的conf文件一样完成。 而在主iptables conf文件中,可以链接另一个iptables规则文件,这些文件可以由具有较less特权的用户编辑。 我希望iptables规则直接写入一个文本文件,该文件在启动时或service firewall restart完成时加载。

IPtables阻塞SSH,即使在隐式启用后?

我有以下的iptables条目麻烦。 我想停止服务器与外部世界进行通信,除了ssh,但是当我input第四个命令(iptables -P OUTPUT DROP)时,我失去了SSH连接,即使我把它打开了。 任何帮助将不胜感激? iptables -A INPUT -p tcp -m conntrack –ctstate RELATED,ESTABLISHED –dport ssh -j ACCEPT iptables -A OUTPUT -p tcp -m conntrack –ctstate RELATED,ESTABLISHED –dport ssh -j ACCEPT iptables -A FORWARD -p tcp -m conntrack –ctstate RELATED,ESTABLISHED –dport ssh -j ACCEPT iptables -P OUTPUT DROP iptables -P FORWARD DROP 谢谢

发生了什么事与SSH

我用这个命令 iptables -A INPUT -p tcp –dport 22 -j DROP 因为我试图阻止端口22传出,因为我收到来自亚马逊的警告,现在我不能ssh在….我该怎么办

如何调整Linux内核以抵御DDoS? (HAProxy的)

请不要回答“这是不可能的”,因为这是浪费时间。 我正在开发云设备,我有一个合理的理由来保护这一层免受DDoS攻击,而且也没有几家公司在做相同的事情,所以请不要告诉我,我没有这个意思,很多公司都希望购买这个解决scheme,看到与使用股票Linux实施它的问题 由于缺less像CPU和RAM这样的资源,我的Linux内核在10.000连接上崩溃。 我想知道如何安全地限制它,它不会在netfilter连接跟踪表或其他地方创buildtcp / ip连接,当有人试图从各种主机打开100.000连接? 网卡是1GBps和缓冲区最大,它可以采取很多的连接,但我想它只有5.000在同一时间,其余的被丢弃,除非有空闲的连接插槽。 在内核级别,所以不会污染netfilter或其他任何东西,并且会尽快删除。 有这些因素: HAProxy连接的数量仅限于5.000 Linux崩溃了10.000打开的连接 我想每分钟经受住100.000次打开的连接,所以也许netfilter可以处理它,但是没有HAProxy。 现有的连接继续运行 这是为了使机器不受oos攻击而承受DDoS攻击,而且一旦攻击中断,服务就会自动以低速率恢复正常的方式。 这是关于服务器实例的物理层,而不是交换机。 假设交换机正在向我传递我能处理的这么多的stream量,上游提供商并不总是有可能调整或保护这个。

极端数量的出港港口80

我的服务器出现了一个严重的问题,那就是无用的消耗过多的出站带宽。 如果有问题,服务器操作系统是CentOS 6.4 x64 2.6.32-431内核。 这是一个快速的tcpdump日志文件: 20:10:17.448636 IP 76.200.77.222.broad.pt.fj.dynamic.163data.com.cn.57827 > svgmain.http: Flags [.], ack 463681, win 65520, options [nop,nop,sack 1 {460801:462241}], length 0 20:10:17.448698 IP svgmain.http > 76.200.77.222.broad.pt.fj.dynamic.163data.com.cn.57827: Flags [.], seq 468001:469441, ack 0, win 123, length 1440 20:10:17.454074 IP svgmain.http > 76.200.77.222.broad.pt.fj.dynamic.163data.com.cn.57827: Flags [.], seq 469441:470881, ack 0, win 123, length 1440 20:10:17.637167 IP […]

如何使用iptables来阻止php扫描

有很多扫描我的服务器上的PHP文件,但我不使用PHP。 我用下面的规则来阻止那些家伙 – iptables -I INPUT -p tcp –dport 80 -m string –string 'php' –algo bm -j DROP 这个规则好吗? 当我使用这个没有dport的时候,我最终失去了pipe理员的url,因为pipe理员的url页面中有stringphp。 我只想扫描url,而不是body。 如何才能做到这一点? 当我执行日志文件的性能扫描时,失败的扫描会引起问题。 例如,我有这些条目 . /phpMyAdmin/scripts/setup.php | 4,750 total ms | 475 avg ms | 584 max ms | 10 calls . /myadmin/scripts/setup.php | 4,309 total ms | 478 avg ms | 698 max ms […]

应该iptables这么长? 很多连锁店?

好的,这是全新安装的CentOs 7(最小)。 这是iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain FORWARD_IN_ZONES (0 references) target prot opt source destination Chain FORWARD_IN_ZONES_SOURCE (0 references) target prot opt source destination Chain FORWARD_OUT_ZONES (0 references) target prot […]

如何为本地路由器机器设置iptables?

我已经build立了一个本地Linux(14.0.4 Ubuntu)机器作为路由器,可以做到以下几点: 从客户端ping服务器/路由器 从服务器/路由器ping客户端 从另一个客户端ping一个客户端 ping服务器/路由器后面的调制解调器/路由器 但我不能ping谷歌或8.8.8.8。 我得到以下错误: ping: unknown host www.google.com connect: network is unreachable 但我可以在服务器/路由器上发出这两个命令,没有问题,这导致我相信这是一个iptables相关的问题。 有人可以看看下面的代码,我用它来初始化iptables,并告诉我是否有明显的错误。 #!/bin/bash ethInternal=eth1 ethExternal=eth0 sudo iptables –flush sudo iptables –table nat –flush sudo iptables –delete-chain sudo iptables –table nat –delete-chain sudo iptables -t nat -A POSTROUTING -o $ethExternal -j MASQUERADE sudo iptables -A FORWARD -i $ethExternal -o $ethInternal […]

将Microsoft Exchange服务器移动到专用networking

在其中一个办公室里,我们有一个50台计算机的networking,只有一台服务器: Windows 2003 Server 微软ISA服务器 Microsoft Exchange 2003 该服务器作为网关(代理服务器),邮件服务器,文件服务器,防火墙和域控制器。 它有两个networking接口,一个用于WAN(假设为222.222.222.222),一个用于LAN(192.168.1.1)。 我设置了一个Linux机器作为网关(没有代理),所以Linux机器现在有以下接口:222.222.222.222(我们的外部IP,我们从Windows机器上移除它)和192.168.1.100(内部IP) ,但是我们需要保留旧的Windows服务器作为邮件服务器和我们的一些用户的代理,直到我们为此准备另一台Linux机器,所以我需要该机器上的邮件服务器可以从互联网上获得。 我设置了iptables规则来redirect到我们的外部IP的第25和第110端口的所有传入连接192.168.1.1:25和192.168.1.1:110,当我尝试telnet我们的SMTP服务 telnet 222.222.222.222 25 我得到了我们的Windows服务器(192.168.1.1)SMTP服务的问候,这工作正常。 但是当我telnet POP3服务 telnet 222.222.222.222 110 我只能看到空白的黑屏,连接似乎消失,如果我按任何button。 我已经检查了ISA规则 – 对于第110和第25个端口,一切似乎都是一样的。 当我从我们的新网关机器上的Windows服务器的第110个端口telnet像这样: telnet 192.168.1.1 110 我得到它的POP3服务: +OK Microsoft Exchange Server 2003 POP3 server version 6.5.7638.1 (…) ready. 我该怎么办,通过我们的新网关提供POP3服务? UPD:我的iptablesconfiguration看起来像这样: -P INPUT DROP -P FORWARD DROP -P OUTPUT DROP -N bad_packets […]