我有一个SSH断开连接问题,断开随机发生。 有时候,它可以正常工作,而且有时我经常断开连接。 断开连接后,我可以重新连接并继续工作。 客户端到目标服务器之间的ssh连接的stream程是这样的: Client (C1) -> Intermediate Server (I) -> Destination Server (R1) (Windows/Linux) -> (Linux + OpenVPN/IPTables) -> (Linux) 从客户端C1到目标服务器R1路由总是通过中间服务器I 。 使用Wireshark,只要有断开连接的问题,我就能看到RST包。 WiresharkloginC1显示, R1在发生断开连接问题时正在发送RST TCP包。 什么可能导致这个问题?
我目前正在开发一个能够进行ARP中毒的应用,以便成为中间人,并进行一些智能过滤。 我会详细解释这个问题,以便让大家知道发生了什么事情。 我有4个主机,即: A – 192.168.1.1 B – 192.168.1.2 C – 192.168.1.3 D – 192.168.1.4 主机A是在中间的人,所以在networking内的所有stream量将被redirect到他。 说主机B想ping主机C,但由于主机A是MITM,ping将被redirect到主机A.我在主机A的应用程序必须能够将ping数据包转发到主机C(其原始的预期路由)。 但是,应用程序可以决定它想转发的某些数据包。 例如,如果主机B想要FTP到主机C这一次,我希望主机A与数据包的目标IP地址冲突,以便主机B的数据包实际上去主机D(只是一个例子,FTP连接可能行不通,确定) 基本的想法是应用程序能够根据协议redirect通信。 这是问题出现的地方,我不知道我该怎么做。 我已经阅读了iptables,看来(纠正我,如果我错了),iptables是能够与预先路由function的数据包的目的地址。 我也已经完成了一个叫做libnetfilter_queue(nfqueue)的模块的search,这个模块似乎也能够与数据包一起破解,尽pipe我并不确定如何。 有人可以就我应该采取的正确方法提出build议吗? 如果可能的话,你能提供一些能够解决上述情况的例子吗?
我正在尝试使用IPTables在相同的LAN内设置负载平衡(如果可能的话)。 我的想法是仿效我们的主要负载均衡器,但是在虚拟环境中,所有的服务器都是虚拟机。 有一个网关服务器,转发虚拟服务器和真实世界的stream量,我想使用该网关来平衡虚拟局域网内的一些stream量。 我的设置是: GatewayServer – > 2个接口:eth0(公共),eth2(私有; 10.xy0 / 24) ServerA – > 1接口:eth2(Private; 10.xy0 / 24) ServerB – > 1接口:eth2(Private; 10.xy0 / 24) 在ServerB上有两个服务实例,监听端口60003和60004。 我的目标是能够打开从ServerA到GatewayServer的连接:60002,并以循环方式在端口60003和60004上平衡到ServerB。 我已经能够通过GateWay服务器从ServerA打开到ServerB的连接,但是连接总是通过端口60003到达ServerB,而从另一个60004不会到达ServerB。 我有这样的网关设置: -A POSTROUTING -i eth2 -s 10.xy0/24 -p tcp –dport 60002 -j DNAT –to-destination 10.xy18-10.xy18:60003-60004 -A POSTROUTING -o eth2 -j MASQUERADE 在ServerB上嗅探我看到来自GatewayServer的数据包,但始终按照前面所述的方式将端口60003挂接。 任何想法?
即时通讯设法打开一些本地端口(局域网),然后重新引导到另一台服务器(广域网)使用iptables。 这是我的configuration: #WAN allow-hotplug eth1 auto eth1 iface eth1 inet static #Tarjeta red WAN address 192.168.2.2 gateway 192.168.2.1 netmask 255.255.255.0 #LAN allow-hotplug eth0 auto eth0 iface eth0 inet static address 192.168.16.6 netmask 255.255.255.0 network 192.168.16.0 broadcast 192.168.16.255 我试试这个: iptables -A PREROUTING -t nat -i eth0 -p tcp –dport 110 -j DNAT –to 200.40.30.218:110 iptables -A […]
我正在OpenSuSE 11.3上运行一个iptables防火墙 – 最近我对stream量监控和记帐产生了兴趣,并为此在防火墙上安装了iptables_netflow模块,并在另一台服务器上安装了Wanguard平台。 iptables_netflow模块是build立和安装和聚合数据; 我可以在/ proc / slabinfo和/ proc / net / stat / ipt_netflow中看到统计信息的变化。 Wanguardconfiguration和工作,因为我有了一段时间将networkingstream量数据导入到它,以确保它的工作。 但是,我无法从防火墙获得netflow输出到WANGuard服务器。 我的iptablesconfiguration可以阻止它吗? iptables_netflow在UDP端口2055上导出。iptables -L的输出-n(在防火墙上) Chain INPUT (policy ACCEPT) target prot opt source destination NETFLOW all — 0.0.0.0/0 0.0.0.0/0 NETFLOW FW-1-INPUT all — 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) target prot opt source destination NETFLOW all — 0.0.0.0/0 0.0.0.0/0 […]
我的服务器目前正在被一个大的DoS攻击,不得不离开Apache并把所有东西都推送到Nginx上(重写是一场噩梦!)。 来自访问日志的示例: 186.92.86.149 – – [30/Nov/2011:09:49:40 -0500] "GET /boards/search.php HTTP/1.0" 404 169 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)" "-" 187.131.200.33 – – [30/Nov/2011:09:49:40 -0500] "POST /boards/search.php HTTP/1.0" 413 199 "http://rol.ru" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20030105 Phoenix/0.5" "-" 189.72.198.227 – – [30/Nov/2011:09:49:40 -0500] "GET /boards/search.php HTTP/1.0" 500 193 "-" "Mozilla/5.0 […]
我运行pure-ftpd支持TLS,一切正常,直到启用iptables。 随着工作iptables我可以连接到FTP,但无法获得文件列表。 ip_conntrack_ftp模块已启用,这是我为ftps设置的规则: *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT – [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT -A RH-Firewall-1-INPUT -m […]
我想要做的是以这种方式redirectnetworkingstream量: 每个端口80的请求都应该被redirect到一个特定的端口(4444)。 其他每个请求都会转到80端口。 由于我不能通过使用networking代理模块和/或出于各种原因转发,我正在寻找一种方法来做到这一点与iptables。 受这篇文章的启发,我对我的iptables使用了这个规则: sudo iptables -t nat -A PREROUTING -p tcp –dport 80 \ -m string –algo bm –string 'GET /mjpegcgi.cgi' \ -j REDIRECT –to-port 4444 然后,我打开两个netcat进程在4444和80上进行侦听。但是,当我尝试使用以下规则testing规则时: wget -qO- http://192.168.1.88/mjpegcgi.cgi 我所拥有的只是端口80的响应。 我究竟做错了什么?
我使用ConfigServer Security & Firewall插件运行2台cPanel服务器。 该插件的function之一是通过iptables(临时和/或永久)阻止各种authentication(POP3 / IMAP,SMTP,FTP,webmail,mod_security等)失败的IP。 现在,我想推动这些IP块到边界路由器尽快丢弃数据包(并保护networking上的其他机器)。 请记住,N次login失败后,IP被阻塞5分钟,然后重新允许。 如果一小时内多次禁止IP,则永久封锁,并应“手动”解锁。 所以我需要一个接近实时的解决scheme。 我正在寻找的是比在cPanels和边界路由器上发射一些cronjob更好的方法来: 将规则转储到文件 将文件传输到边界路由器(通过scp / sftp) 从边界路由器中的文件加载规则 我知道,我将需要一些脚本来parsing和修改规则,因为cPanels有一个以太网接口和一些别名,而边界路由器有两个 ehternet接口和一些环回。 涉及的所有机器都使用Linux。 编辑按@pjmorse评论。 该插件由一堆perl和configuration文件组成。 我感兴趣的部分是扫描日志文件( lfd )并安装iptables规则(并发送警报邮件)的过程。 事实上,它经常升级(每周一到两次),本身就是> 7000线perl,所以我不习惯篡改它。
我有一个在ip_conntrack约65k连接的服务器。 我如何优化munin脚本来计算各种types的连接(默认fw_conntrack脚本): cat /proc/net/ip_conntrack | awk ' BEGIN { STATE["ESTABLISHED"]=STATE["FIN_WAIT"]=STATE["TIME_WAIT"]=0; TOTAL=ASSURED=NOREPLY=STATE["SYN_SENT"]=STATE["UDP"]=0; } /^tcp/ { STATE[$4]++; } /^udp/ { STATE["UDP"]++; } /ASSURED/ { ASSURED++; } { TOTAL++; } END { print "established.value " STATE["ESTABLISHED"]; print "fin_wait.value " STATE["FIN_WAIT"]; print "time_wait.value " STATE["TIME_WAIT"]; print "syn_sent.value " STATE["SYN_SENT"]; print "udp.value " STATE["UDP"]; print "assured.value " ASSURED; print "total.value […]