Articles of iptables

iptables可以忘记数据包的状态,在这种情况下,我必须在我的有状态规则之后添加额外的无状态规则吗?

据我所知,iptables可能会忘记数据包的状态? 这是正确的吗? 如果是的话,我必须添加额外的无状态规则吗? 例如,我有这些规则。 iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state –state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o eth0 -p udp –dport 53 -m state –state NEW -j ACCEPT 我必须添加以下规则吗? iptables -A OUTPUT -o eth0 -p udp –dport 53 -j ACCEPT iptables -A INPUT -i eth0 -p […]

为了通过IPSEC隧道访问资源,伪装客户端作为StrongServer

+———-+ +——-+ Client 1 | +————–+ +—————+ +———-+ +————+ | +———-+ | Web Server +————-+ Cisco ASA5585 +———+ Internet +———–+ StrongSwan +——–+ IP: 10.2.0.1 +————–+ +—————+ +———-+ +————+ | | +———-+ +——-+ Client 2 | Internal Web server External IP: 1.1.1.1 External IP: 2.2.2.2 +———-+ https://some.webservice.net Internal IP: 10.1.0.1 IP: 10.3.0.1 192.168.0.1:443 客户端1和客户端2位于不同的/ 20个子网中,需要通过主机访问远端的内网服务器,以承载StrongSwan服务器和远端Cisco ASA设备之间的IPSEC […]

iptables 53redirect到另一个端口,不能正常工作

我在8053上运行DNS服务器,在8080上运行HTTP服务器。我有两行: iptables -A PREROUTING -t nat -p tcp –dport 80 -j REDIRECT –to-ports 8080 iptables -A PREROUTING -t nat -p udp –dport 53 -j REDIRECT –to-ports 8053 第一行工作,我可以去端口80,并获得http。 但是第二个不是。 如果我以root身份在53上运行我的DNS,它就可以工作。 但是,如果我运行非根和iptables的REDIRECT,它不会回答挖: dig @127.0.0.1 -p53 pro.uptime.com 帮帮我?

netcat通过次要NIC的端口

我们正在尝试使用ubuntu 14.04上的辅助NIC在nc <public address1>和nc -l 30000之间build立通信,在networking192.168.0.0/24上称为em1 。 两个NICS都通过独立的网关/路由器可以独立访问互联网。 为此,我们创build了一个路由表,一些规则来标记数据包并添加ip路由。 见下文。 正如你所看到的, iptables标记与端口30000有关的数据包,然后ip rule告诉内核使用ftptable而不是默认的,这个表的默认路由是192.168.0.1/24 。 给出结果,我不确定路线是否正确。 数据包似乎到达,因为我们有规则匹配,但消息不通过。 如果我们使用同一networking上的另一台计算机进行监听,它就可以工作 如果我们从networking中的一台机器到服务器,它会工作(感谢192.168.0.0/24规则)。 默认情况下是否激活? 我们在这里错过了什么? # ip rule list 0: from all lookup local 32765: from all fwmark 0x1 lookup ftptable 32766: from all lookup main 32767: from all lookup default 。 # ip route show table ftptable default via […]

为什么我的iptables脚本不能正常工作?

我有一个PC惠普2接口在同一子网。 我需要阻止从一个IP到一个接口的所有stream量。 此外,我需要接受来自该子网上的每个接口的连接。 有人能告诉我我做错了吗? 这是我的脚本。 iptables -F iptables -X iptables -Z iptables -t nat -F iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -A INPUT -i eth0 -s 192.168.8.0/24 -j ACCEPT iptables -A INPUT -i eth1 -s 192.168.8.0/24 -j ACCEPT iptables -A INPUT -i eth1 -s 192.168.8.32 -j DROP

iptables + OpenVPN:转发到子网和一些外部IP

我有一个OpenVPN(CentOS)服务器,它运作良好。 它只将内部stream量(10.0.0.0/8)转发到我的服务器,所以不是整个互联网。 但是我想扩展它。 我有一些静态外部IP(ABCD&EFGH),只能从VPN服务器访问。 我也想转发这些IP。 所以我的用户可以通过VPN访问它。 所以新的设置:内部IP(10.0.0.0/8)和这两个IP(ABCD&EFGH)。 这是我目前的configuration: OpenVPN的: port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/VPN.crt key /etc/openvpn/easy-rsa/2.0/keys/VPN.key dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem server 10.8.8.0 255.255.255.0 ifconfig-pool-persist /etc/openvpn/ipp.txt #These are the routes that will be sent over the VPN that are pushed to the clients. push "route 10.0.0.0 255.0.0.0" push "route ABCD 255.255.255.255" push "route […]

testing已启用且已启用IPv6的networking名称空间时出错(几乎完成)

我一直在使用一个名为Torjail( https://torjail.github.io/ )的脚本,其中一位作者发表了一个关于它工作模式的解释草稿: https ://superuser.com/questions/1068518/how-to -create-A-TOR-仅networking接口-合适换firejail / 1231279#1231279 但是我希望IPv6支持,因为内核3.7+在netfilter6上实现了NAT,所以我试图创build一个修改版本。 为了testing目的,我修改了原来的草案: # create a new network namespace named NETNS ip netns add NETNS # create two virtual ethernet interface ip link add OUTSIDE type veth peer name INSIDE # bind one interface to NETNS network namespace ip link set INSIDE netns NETNS # set interfaces ip […]

如何模拟对称NAT的属性?

对于STUN / TURNconfiguration的testing,我想阻止所有传入的UDPstream量,除了我最近向远程服务器发送了一些东西的端口。 端口不是事先知道的。 我不需要NAT的内部/外部IP方面。 在同一个networking上只有两台机器。 有没有可能做一些简单的iptables?

远程访问networking服务器(包含tcpdump)

总是noob在这里所以提前歉意错过任何关键细节。 我们有一个web服务器,可以在192.168.2.1本地访问。 它也可以在本地访问176.XXX.XXX.XXX,这显然是一个外部IP。 当远程访问外部IP时,我的浏览器超时,所以我猜这是一个防火墙问题。 我们有一个在192.168.2.6上运行的Billion 7800DXL。 在十亿的pipe理员中,我可以看到有一个虚拟服务器为端口80,2223和3306在TCP上设置为192.168.2.1。 有其他东西阻止访问? 如果我错过了重要的细节让我知道。 还有192.168.2.1有一个Linux防火墙,所以也许这是问题? 在networking服务器上运行以下tcpdump -vvv -ni eth0 host 185.186.79.109会给我: 15:19:08.111133 IP (tos 0x0, ttl 55, id 28066, offset 0, flags [DF], proto TCP (6), length 52) 185.186.79.109.50554 > 192.168.2.1.http: Flags [S], cksum 0xb153 (correct), seq 3499157894, win 29200, options [mss 1452,nop,nop,sackOK,nop,wscale 9], length 0 15:19:08.111189 IP (tos 0x0, […]

将传入的udpstream复制到(非本地)远程服务器

我有一个服务器监听端口1906上的传入UDPstream量。我想复制这个stream量并将复制的stream传送到互联网上的另一台服务器(不在同一个LAN上)。 我发现我可以使用iptables TEE来复制stream量,但我无法弄清楚如何将副本传送到REMOTE服务器。 使用的iptables TEE命令(xxxx必须是局域网上的服务器) sudo iptables -t mangle -A PREROUTING -i eth0 -p udp –dport 1906 -j TEE –gateway xxxx 上述命令似乎工作,但是如果您检查复制到LAN机器xxxx的stream量,数据包仍然有原始目标IP地址。 为了传递到远程服务器,我想有必要首先用远程服务器的IPreplace目的IP,然后将stream量转发到网关/路由器? iptables可以用来复制(不转发)stream到远程服务器? 这可以用一台机器完成,还是转发到单独的网关机器上?