我是新的serverfault,所以请告诉我的任何不良行为:) 我searchserverfault(和谷歌)的答案,但无法find我的问题的答案(我可以find答案,这部分是我需要的,但我缺乏知识/经验将他们结合到我的问题的解决scheme) 问题如下: – 我有一个公共服务器的端口81,这是公共IP地址可用 – 我有一个本地服务器端口80,这是公众不可用 – 我想用户连接到端口81上公共IP地址并到达本地服务器的端口80(192.168.98。###) 我想我需要使用iptables做一些configuration,但是对我来说这太雾了 我试过一些答案, 我怎么可以端口与iptables? 但是我遇到了各种各样的错误 一些问题: – 本地服务器是否有一些特殊的configuration? 例如,我必须将网关设置为公共服务器的IP地址? – / proc / sys / net / ipv4 / conf / ppp0不存在,是一个问题吗? 没有端口被防火墙阻塞 我有完全控制在运行的公共服务器: # cat /proc/version Linux version 2.4.22-1.2115.nptl ([email protected]) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-6)) #1 Wed Oct 29 15:42:51 EST 2003 # […]
我现在iptables阻止所有的UDP通信,但是我想只允许某些DNS查询通过。 我们以google.com为例。 我正在尝试使用string匹配来查找请求中的域名,并允许它。 这是我想出来的。 iptables -A OUTPUT -o eth0 -p udp –sport 53 -m string –string "google.com" –algo bm -j ACCEPT 我也试过 – –dport 53而不是 – –sport 。 没有骰子。 如果有人知道如何做,或看看我错了哪里?
是否有可能使iptables回落到负载下的无状态过滤,在攻击等过程中,当连接跟踪表已满并且新的连接即将被丢弃? 我知道这会有一些严重的安全隐患,因此应该非常保守地select后备规则。 另外,禁用连接跟踪时,NAT将不可避免地中断,但这不是问题(所讨论的主机是实际的防火墙)。 任何解决scheme可能有两个部分: 在iptables中响应一个完整的状态表(也就是说,不通过cron作业或守护进程parsing日志并修改规则) 禁用全部或部分有状态规则,或添加一些新的,优先级较高的规则,在应用状态跟踪之前接受数据包 可以这样做吗? 如果没有,有没有比通过某种日志分析检测表溢出,通过插入或删除规则来反应,还是卸载连接跟踪模块更好的方法?
我希望有人可以帮助我这个configuration。 我已经有一个工作的设置,一个Linux机器充当一个路由器,只是为公有IP做端口转发。 这些都是公有IP的顺便说一句。 HOST_x – 可以是任何具有公共IP的主机。 (例如:xxxx) MY_LINUX – 仅使用IPtables为公有IP进行端口转发。 (固定IP,例如:2.2.2.2) SERVER – 具有公共IP地址的Web服务器。 (固定IP,例如3.3.3.3) PORT – (TCP PORT = 80) 这是MY_LINUX上的configuration: iptables -t nat -A PREROUTING -p tcp -d 2.2.2.2 –dport 80 -j DNAT – 到目的地3.3.3.3:80 iptables -t nat -A POSTROUTING -p tcp -d 3.3.3.3 –dport 80 -j MASQUERADE 上面的configuration工作。 当浏览器中的HOST_xtypes在2.2.2.2中时,它从3.3.3.3获得网页。 我在这里唯一的问题是目标SERVER(3.3.3.3)看到来自MY_LINUX(2.2.2.2)的请求,我想看到的是请求HOST_x(xxxx)的原始IP。 我将不胜感激任何build议,谢谢。
Mar 24 03:29:26 kernel: [1557411.243821] TCP: time wait bucket table overflow (CT0) Mar 24 03:29:26 kernel: [1557411.243828] TCP: time wait bucket table overflow (CT0) Mar 24 03:29:26 kernel: [1557411.243998] TCP: time wait bucket table overflow (CT0) Mar 24 03:29:26 kernel: [1557411.244877] TCP: time wait bucket table overflow (CT0) : [1564292.095620] __ratelimit: 37822 callbacks suppressed Mar […]
我的老板有些偏执狂,要我为他组织一些VPN链接。 我提出了以下计划: Client VPN1 VPN2 10.0.1.x[tun0]——10.0.1.1[tun0] [1.1.1.1][eth0] 10.0.2.x[tun1]———-10.0.2.1[tun0] 2.2.2.2[eth0] 3.3.3.3[eth0]——internet 我可以通过iptables转发从客户端使用VPN1,如下所示: vpn1 # iptables -A FORWARD -s 10.0.1.0/24 -j ACCEPT vpn1 # iptables -A FORWARD -d 10.0.1.0/24 -m state –state ESTABLISHED,RELATED -j ACCEPT vpn1 # iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j SNAT –to-source 2.2.2.2 如果我使用默认网关,或者如果select指定的主机,我可以使用VPN1中的VPN2,如下所示: vpn1 # route add -host 8.8.8.8 dev tun1 […]
在Centos 6.4上,我想阻塞除了22,80和443之外的所有传入端口。80(外部)应该被redirect8080(内部)。 443(外部)应该被redirect到8181(内部)。 我使用了以下命令: service iptables stop iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp –dport 443 -j ACCEPT iptables -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8080 […]
最近,我决定丢弃想要通过端口80出去的数据包。它接缝我的configuration有一个问题,因为一些不需要的数据包被丢弃。 我的configuration摘录: iptables -A OUTPUT -m state –state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -s [PUBLIC IP OF MY SERVER] –sport 80 –dport 1024:65535 -m state –state ESTABLISHED -j ACCEPT 问题1:不是第二个无用的规则,因为我已经在第一个规则中说过,我接受所有具有“ESTABLISHED”状态的数据包? 问题2:为什么这两条规则不足以接受下面丢弃的数据包: Jul 14 18:47:18 [HOSTNAME] kernel: iptables output: IN= OUT=eth0 SRC=[PUBLIC IP OF MY SERVER] DST=[A WWW CLIENT PUBLIC IP] LEN=40 TOS=0x00 […]
我的有线接口(eth0)连接到企业VPN(通过代理不允许各种各样的事情),同时无线接口连接到eth1上的访客无线networking,该访客无线networking没有任何限制。 我如何configuration东西(Ubuntu),使我的无线处理所有的浏览器连接,而我的有线处理其余的(NFS等)。
有TCPMSS目标来编辑连接的MSS值(包括转发)。 如何通过iptables规则编辑窗口大小(例如,上限到某个最大值)? 期待类似的东西 iptables -t mangle -A OUTPUT -p tcp –dport 1234 -j TCPWINDOW –tcpwindow-set 'min(val,100000)'