Articles of iptables

Scapy:创build一个响应数据包

需要你的帮助,因为我完全打破了我的头脑,试图理解TCP数据包的生活:)我试图从一个设备(主)丢弃一些TCP数据包到另一个(奴隶)。 所以我是用Linux机器MITM,嗅探所有的转发数据包。 现在我想丢掉来自主机的特定数据包,但是如果我正在做这个主机,不要得到响应并断开连接。 如果有什么办法可以用scapy创build一个响应数据包并发送给master,那个连接将会活着? 如果我理解正确,那就是所谓的答录机。 谢谢你的帮助! import nfqueue from scapy.all import * load_contrib('modbus') import os # MITM rules : MITM = "iptables -A FORWARD -j NFQUEUE" print("Adding rules :") print(MITM) os.system(MITM) os.system("sysctl net.ipv4.ip_forward=1") os.system("arpspoof -i eth0 -t 192.168.1.33 -r 192.168.1.55" &) def callback(payload): data = payload.get_data() pkt = IP(data) if ModbusPDU06WriteSingleRegisterRequest in pkt: # Drop […]

DNS请求被iptables阻止

我目前正在为我们的networking设置IP表。 我们有以下的networking情况: 我们有3个networking,灰色,绿色和红色。 灰色networking有完整的互联网访问没有限制,但没有访问绿色或红色。 绿色无限制地访问灰色和互联网,红色没有互联网访问,并获得绿色和灰色。 灰色的IP范围是192.168.178.0/24(在eth_grey接口上)绿色的IP范围是192.168.50.0/24(在eth_green接口上)红色的IP范围是192.168.40.0/24(在接口eth_red上) 我在我的rules.v4中设置了以下规则(当前没有ipv6,稍后configuration,ipv6设置为接受策略): *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -o eth_grey -j MASQUERADE COMMIT *filter :INPUT DROP :FORWARD DROP :OUTPUT DROP # Allow all loopback traffic and traffic from established connections. -A INPUT -i lo -j ACCEPT -A INPUT -m state –state […]

在firewalld 80端口是closures的,但是nmap显示端口是开放的,我可以连接到它

我的linux环境是fedora 27,httpd正在运行,而firewall-cmd –list-all显示 FedoraWorkstation (active) target: default icmp-block-inversion: no interfaces: wlp3s0 sources: services: dhcpv6-client ssh samba-client mdns ports: 1025-65535/udp 1025-65535/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: 虽然http服务或80端口是不允许的,nmap显示 Starting Nmap 7.60 ( https://nmap.org ) at 2017-11-25 18:55 PST Nmap scan report for 10.0.0.15 Host is up (0.000052s latency). PORT STATE SERVICE 80/tcp open http […]

Iptablesexception不起作用

我想用iptables设置一个防火墙,但它阻止了我不想阻塞的东西:( 添加我的例外之后,执行以下操作: iptables -A INPUT -j DROP 我无法运行: curlwww.whatismyip.com/automation/n09230945.asp curlwww.whatismyip.com 我添加了whatisyip.com whois列出的所有ips和nameservers: iptables -A INPUT -s 72.233.195 -j ACCEPT iptables -A INPUT -s 72.233.195 -j ACCEPT iptables -A INPUT -s 72.233.195 -j ACCEPT iptables -A INPUT -s 72.233.195 -j ACCEPT iptables -A INPUT -s 72.233.195 -j ACCEPT iptables -A INPUT -s 72.233.195 -j ACCEPT find: […]

挂在200上的FTP连接欢迎使用blabla FTP服务

当连接到在UNIX上运行的远程ftp服务器时,我遇到了问题。当我尝试进行连接时,它会在欢迎屏幕上冻结,并且它会提示input密码和用户名。 连接到17.17.0.181。 欢迎使用Blabla FTP服务 它只是冻结在那里没有什么,如果我试图杀死它与控制c或z它不会死! 我必须login到另一个控制台,并杀死PID thingy。 我知道我确定它是与防火墙或路由有关,因为我可以从其他地方连接。 我的防火墙iptables有以下设置 modprobe ip_nat_ftp ports21 modprobe ip_conntrack_ftp iptables -A FORWARD -m状态–state ESTABLISHED -j ACCEPT iptables -A FORWARD -p tcp -m tcp -m状态–dport 21 –state NEW -j ACCEPT iptables -A FORWARD -p tcp -m tcp -m状态–sport 20 –state RELATED -j ACCEPT iptables -A FORWARD -p tcp -m tcp -m […]

使用iptables转发端口

编辑:解决使用信息我在这里find了iptables在debian上的端口转发 我试图在现有的Web服务器上设置svn,由于某种原因,我用于通过路由器转发到Web服务器的相同技术不适用于svn的不同端口。 我写了下面这个简单的shell脚本来添加一个服务器 #!/bin/bash #!/bin/sh ROOT_UID=0 if [ $UID -ne $ROOT_UID ] then echo "You must be root." exit 87 else echo "Adding FORWARD entry…" iptables -I FORWARD 5 -p tcp -i eth1 -d $1 –dport $3 -j ACCEPT echo "Adding PREROUTING entries…" iptables -t nat -I PREROUTING 1 -p tcp -i eth1 –dport $3 […]

GRE(IP协议47)NAT规则似乎过期

我有一台机器通过永久的GRE隧道连接到另一台主机。 我已经把机器放在Linux防火墙(Smoothwall)后面,并且使用以下规则将所有的GRE数据包进行NAT转换: /sbin/iptables -t nat -A PREROUTING -p 47 –src $tunnel_server_ip -j DNAT –to-destination $false_ip /sbin/iptables -t nat -A POSTROUTING -p 47 –src $false_ip -j SNAT –to-source $real_ip /sbin/iptables -t nat -A INPUT -p 47 -j ACCEPT (请参阅Linux路由器上的NAT GRE(IP协议47) ) 这一切工作正常,但经过一段时间的隧道约15分钟,我不能连接到互联网上隧道机器。 在我将任何数据包从机器发送到互联网之后,ping,在浏览器中打开一个网页,隧道再次被激活。 作为一种解决方法,我现在使用一个cron脚本,开始curl到互联网上的页面。 请帮助我了解导致隧道停止运作的原因,并告诉我如何更换curl黑客。

iptables connlimit意外触发

我一直在使用这些防火墙规则: -I FORWARD -p tcp –syn -m connlimit –connlimit-above 50 -j REJECT -I FORWARD -p tcp –syn -m connlimit –connlimit-above 50 -j LOG –log-prefix "CONNLIMIT: " –log-level debug 这似乎很简单:防止有人打开超过50个连接并导致拒绝服务。 我已经成功地对慢狮进行了testing。 为了防止误报(Apache可能非常需要连接),我将限制设置为50,但是,今天早上,我从Nagios监视器收到一封电子邮件,我的日志显示了几行“CONNLIMIT”源IP是我的监控系统。 我不知道为什么会这样。 我的监控服务器至多应该执行5-10次检查,可能是ping或SSH连接。 如果我打开了25个以上的决定,但是连续2个周末我都会感到震惊,我已经设法触发connlimit 50并粗暴地唤醒自己。 我的防火墙规则有什么问题吗? (也许添加'新'标志?)是Nagios不正确地closures它的连接? 我甚至不知道如何在没有logging每一个数据包的情况下继续debugging这个问题,耐心地等待我的手机在一个非常糟糕的时刻熄灭。 [编辑:只是为了好玩,这里是服务器日志] Oct 9 11:33:22 adapt kernel: [1888526.442640] CONNLIMIT: IN=eth0 OUT=eth1 SRC=[MONITOR] DST=[HOST] LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=2076 […]

BBC IPlayer的iptables规则

目标:严格的输出规则,以允许使用iplayer,但使其他p2p程序很难。 我相对较新的服务器pipe理和iptables。 因为我不能依赖我的用户行为,所以我已经将OUTPUT设置为默认值,而不是接受。 我已经打开了端口22,80和443为我自己的远程访问和用户的网页浏览。 现在我想允许使用BBCS iplayer软件。 对于那些不知道这个的人来说,基本上是用于分发BBC节目的p2p软件(这是由BBC所有合法的)。 BBC说打开港口80,443,947,1948,4000,5000,8888。我认为这是指在我的iptables的INPUT。 但是,我将不得不打开OUTPUT,因为这是默认放弃? 相同的端口? 当我在OUTPUT中打开相关端口时,是否可以指定只允许BBC iplayer的stream量,而不使用标准iptables规则说Azureus? 我不能使用像-d目的地的东西,因为它的p2p,肯定会改变。 我知道端口应该以某种程序为目标,但是我知道在azureus中你可以改变端口号。 虽然我怀疑我的less数用户是足够精通技术的,但是我认为只要进入一个在azureus中打开的BBC iplayer端口就可以了。

设置主机防火墙,使虚拟机从dnsmasq获取dynamicIP

当防火墙运行时,虚拟机(KVM / libvirt)无法从在CentOS主机上运行的libvirt-dnsmasq获取dynamicIP地址。 当我closures防火墙(CSF)时,虚拟机获得一个IP。 对于遇到类似的人来说,什么对你有用? 我已经尝试在csfpost.sh中定制iptables规则(input输出和FORWARD)。 /sbin/iptables -A INPUT -j ACCEPT -s $SUBNET_PRIVATE -i $IF_TUN_0 /sbin/iptables -A OUTPUT -j ACCEPT -s $SUBNET_PRIVATE -o $IF_TUN_0 /sbin/iptables -A FORWARD -i $IF_TUN_0 -o $IF_ETH_0 -j ACCEPT /sbin/iptables -A FORWARD -i $IF_ETH_0 -o $IF_TUN_0 -j ACCEPT 我试过csf.allow中的条目。 #allow dnsmasq to serve dynamic IPs to virtual machines on local subnet […]