Articles of iptables

使用SuSEfirewall2或iptables规则redirect本地请求,而不是内部请求

我有一个运行在Tomcat上部署的Web应用程序的服务器,坐在testingnetworking中。 我们正在运行SuSE 11 sp1,并对传入的请求有一些redirect规则。 例如,我们不在Tomcat的server.xml文件中绑定端口80,而是在端口9600上侦听,并在SuSEfirewall2中有一个configuration行,将端口80redirect到9640.这是因为Tomcat不以root身份运行,也不能开放80端口。 我的Web应用程序需要能够向端口80发出请求,因为这是它在部署时将使用的端口。 我可以添加什么规则,以便本地请求被iptablesredirect? 我试着看看这个问题: 如何使用iptables在本地计算机上将一个端口redirect到另一个端口? 但那里的build议似乎没有帮助我。 我尝试在eth0上运行tcpdump,然后连接到我的本地IP地址(不是127.0.0.1,但实际的地址),但我没有看到任何活动。 如果我从外部机器连接,我确实看到活动。 然后,我跑了tcmpdump对,再次试图连接,这次我看到活动。 所以这使我相信,任何请求我自己的IP地址本地没有得到处理的iptables。 仅供参考,他是我的NATperformance在: Chain PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp — anywhere anywhere tcp dpt:http redir ports 9640 REDIRECT tcp — anywhere anywhere tcp dpt:xfer redir ports 9640 REDIRECT tcp — anywhere anywhere tcp dpt:https redir ports 8443 Chain […]

IPTables无法通过VPN

我有一个VPN连接到远程位置的服务器。 我希望其他电脑能够通过VPN连接器到达远程位置的networking服务器。 但我不能得到我想要的地方。 这是情况: VPN Server (and also the webserver): 10.0.0.2 ^ | Router: 192.168.1.127 & 10.0.0.1 (openssh port is forwarded to 10.0.0.2) ^ | | VPN Connector: 192.168.1.148 ^ | Client pc: 192.168.1.129 此外,VPNnetworking(称为tun0)的IP是:VPN服务器:192.168.2.1 VPN连接器:192.168.2.6 所以,如果我login到VPN连接器,并做一个wget 192.168.2.1:4848它工作正常。 这很好,VPN连接的作品。 但是我想要做的是:在客户端PC上去浏览器并转到192.168.1.148:4848。 (这是VPN连接器)。 然后连接器应该转发给vpn,显示192.168.2.1(vpn服务器)上的web服务器。 这是我的IPTables设置: iptables -t nat -A PREROUTING -p tcp -d 192.168.1.148 –dport 4848 -m […]

系统日志中端口58322被拒绝的请求过多

我的iptables被设置为阻止所有不需要的端口,因为它应该但我正在检查我的系统日志,由于这些随机但频繁的apache2崩溃,我注意到很多这样的请求。 在所有存档的系统日志,我有这些来自不同的IP地址。 有一个类似的问题在这里接受: 什么服务使用UDP端口60059? Jun 4 06:49:27 HOSTNAME kernel: iptables denied: IN=eth0 OUT= MAC=fe:fd:ad:ff:dd:95:c8:4c:75:f5:d6:3f:08:00 SRC=218.7.74.50 DST=MY.SERVER.IP.HERE LEN=129 TOS=0x00 PREC=0x00 TTL=115 ID=27636 PROTO=UDP SPT=9520 DPT=58322 LEN=109 Jun 4 06:49:31 HOSTNAME kernel: iptables denied: IN=eth0 OUT= MAC=fe:fd:ad:ff:dd:95:c8:4c:75:f5:d6:3f:08:00 SRC=95.160.226.177 DST=MY.SERVER.IP.HERE LEN=131 TOS=0x00 PREC=0x00 TTL=116 ID=31468 PROTO=UDP SPT=47642 DPT=58322 LEN=111 Jun 4 06:49:54 HOSTNAME kernel: iptables denied: IN=eth0 OUT= […]

虚拟客户端在使用主机IP时不会NAT

我正在使用lxc来承载一些服务。 我希望把这些服务之一暴露给外部世界。 我已经在我的主机上使用iptables设置了三个NAT规则,一个是eth0,一个是br0(容器/客户端的网桥),另一个是来自主机本身stream量的OUTPUT规则。 有了这些规则,我可以使用主机IP(10.234.13.185)与我select的端口(4050)到达客人/容器(192.168.3.54:61616)。 这从外界,主机和其他客人的作品。 但是,我不能从服务的客人(192.168.3.54)得到它的工作。 我注意到,stream量进入端口4050的主机,正常情况下在端口61616客人结束。但是,如果来自客人stream量仍然命中主机端口4050,但不会路由到61616,但坚持4050代替。 我做了一个ngrep和我看到的其他客户端(使用telnet): $ host:ngrep -p 4050:10.234.13.185:4050 – > $ client_ip [AR] $ host:ngrep -p 61616:$ client_ip – > 192.168.3.54 [S] * 2,192.168.3.54:61616 – > $ client_ip [AR] $ guest:ngrep -p 61616:192.168.3.54:61616 – > $ client_ip [AR] $ guest:ngrep -p 4050:没什么 但是,当我重复,但从客人本身telnet我看到: $ host:ngrep -p 4050:192.168.3.54:**** – > 10.234.13.185:4050 [S](反复) […]

iptables:限制每天每IP下载的字节数?

在面向公众的Web服务器上,我想限制每个IP地址每天下载的总字节数。 例如,访问者下载100MB后,任何额外的请求将在接下来的24小时内被丢弃或拒绝。 单独使用iptables可以完成吗? connbytes,connlimit,hashlimit,配额和最近的选项都看起来很有希望,但是手册页接近背心(例如“ quota – 通过递减每个数据包的字节计数器来实现networking配额。配额以字节为单位“)。 如果可能的话,要避免使用代理(如Squid)。

iptables只接受三方握手

使用iptables我想接受TCP连接的三次握手,然后删除连接。 如果可能的话,是否有可能如何?

一个很好的分析iptables日志的工具?

我有一些Linux服务器iptables,我正在寻找一个离线工具,允许日志分析检测可疑的活动。 我不认为安装networking工具是一个不错的select,因为它是系统中的另一个可能的漏洞,所以我正在寻找一个离线的,生成人类可读的总结。 谢谢。

载入过高,包括iptables在内的许多文件丢失:我的服务器是否受到攻击?

我的服务器负荷大约在400及以上。 这里是服务器故障问题的链接 我能够看到rm命令和xargs在顶级输出中运行,其中我是唯一的用户login。 我试图杀死这个过程,但没有奏效。 我试图写一个iptables规则,使默认策略,并允许只有我的IP进行通信,但在这之前,iptables丢失。 我再次安装它,但它显示: FATAL:无法加载/lib/modules/2.6.32-5-vserver-amd64/modules.dep:没有这样的文件或目录iptables v1.4.14:无法初始化iptables table`filter':表不存在你需要insmod?)也许iptables或你的内核需要升级。 当我试图closures服务器,我得到消息的时间。 重新启动也不起作用。 一旦加载下来,我执行chrootkit扫描,这里是结果。 它显示了许多缺less的模块和隐藏的文件。 Searching for suspicious files and dirs, it may take a while… The following suspicious files and directories were found: /usr/lib/pymodules/python2.6/.path /usr/lib/pymodules/python2.7/.path /usr/lib/node_modules/npm/.npmignore /usr/lib/node_modules/npm/.travis.yml /usr/lib/node_modules/npm/node_modules/fast-list/.npmignore /usr/lib/node_modules/npm/node_modules/fast-list/.travis.yml /usr/lib/node_modules/npm/node_modules/fstream/.npmignore /usr/lib/node_modules/npm/node_modules/fstream/.travis.yml /usr/lib/node_modules/npm/node_modules/graceful-fs/.npmignore /usr/lib/node_modules/npm/node_modules/lru-cache/.npmignore /usr/lib/node_modules/npm/node_modules/minimatch/.travis.yml /usr/lib/node_modules/npm/node_modules/node-uuid/.npmignore /usr/lib/node_modules/npm/node_modules/nopt/.npmignore /usr/lib/node_modules/npm/node_modules/slide/.npmignore /usr/lib/node_modules/npm/node_modules/tar/.npmignore /usr/lib/node_modules/npm/node_modules/tar/.travis.yml /usr/lib/node_modules/npm/node_modules/.bin /usr/lib/node_modules/npm/test/packages/npm-test-files/.npmignore /usr/lib/node_modules/npm/test/packages/npm-test-ignore/.npmignore /usr/lib/node_modules/npm/node_modules/.bin 检查`lkm'…你有3086进程隐藏readdir命令SIGINVISIBLE崇拜find chkproc:警告:可能的LKM木马安装 我是否需要进一步调查以确认这是一次袭击? […]

iptables的被动FTPstream量统计?

基本的stream量统计与iptables很容易。 一个创build一个没有目标的规则,例如 iptables -I INPUT -p tcp –dport 80 然后,例如,通过http上传一些数据后,就可以读取计数器了 iptables -L INPUT -n -v 通过这样的iptables规则可以跟踪传入和传出的FTPstream量吗? 我尝试了通常的规则来允许FTPstream量,与ip_conntrack_ftp内核模块一起使用: iptables -I INPUT -m state –state NEW,ESTABLISHED,RELATED -p tcp –dport 21 但显然,iptables在这里只计算控制连接。

通过VPN从本地networking路由出站连接

我有一个运行OpenVPN的服务器,一个OpenVPN客户端B(一个有根的Android手机)和第三方C(笔记本电脑,平板电脑等)连接到B. B可以使用VPN通过A访问Internet; C可以使用没有VPN的有线连接通过B访问互联网。 但是,当B上的VPN处于活动状态时,我无法在C上从Internet加载信息。 A似乎logging类似的stream量入站和出站时,B或C尝试加载网页,但是,设备B上的VPN报告没有入站stream量当连接源于C. 我应该在哪里寻找被丢弃的数据包,以及我应该使用哪些ip规则来确保它们通过VPN传递回本地networkingB < – > C? (我显然会张贴任何进一步的信息是需要的。) 更多信息 没有VPN: root@android:/ # ip route default via [B's External Gateway] dev rmnet0 [B's External Subnet] dev rmnet0 proto kernel scope link src [B's External IP] [B's External Gateway] dev rmnet0 scope link 192.168.43.0/24 dev wlan0 proto kernel scope link src 192.168.43.1 使用VPN: root@android:/ […]