Articles of iptables

将来自多个接口的所有stream量redirect到单个IP

我想将来自多个广域网接口(ppp0,ppp1,ppp2)的所有stream量(特别是TCP和UDP)redirect到来自eth0的单个IP。 当涉及到IP接口时,我可以使用PREROUTING和POSTROUTING,并相应地更改目标和源IP。 但在这种情况下(有多个接口),我怎样才能知道在POSTROUTING中使用哪个IP作为源IP? 所以ppp0-ppp3的IP地址正在改变,而eth0仍然是“192.168.1.5”。 我想转发stream量到IP:“192.168.1.10”。 例如(仅用于TCP),我将使用以下命令将传入连接指向eth0: iptables -t nat -A PREROUTING -p tcp –dport 5000 -j DNAT –to-destination 192.168.1.10:5000 iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 –dport 5000 -j SNAT –to-source 192.168.1.5` 但是有了多个接口(IP),我不知道如何设置POSTROUTING规则的源码保持不变? 所以问题是 – 我是否应该使用iptables技术来“保存”该IP,而不是将其用作源代码,或者有另一种方法来做到这一点? 我发现一个看起来像我需要的链接,但我不知道如何实现它: http : //www.tldp.org/HOWTO/IP-Masquerade-HOWTO/multiple-ips.html 。 底线,我需要从多个接口到单个IP的“DMZ”。

Linux不回复一个ARP请求

我在一个有2个接口的系统上运行linux 3.14。 在第一个界面上,我可以访问我们的本地networking。 在第二个接口上,arp包进来了但是linux不发送回复。 有可能是mac地址导致linux丢弃arp数据包? tcpdump显示源地址来自源:fe:xx:xx:xx:xx:xx。 我无法在网上find任何东西来表明linux如何处理这种types的mac地址。 60字节的数据包的其余部分看起来不错。 我甚至比较了arp数据包与第一个界面的数据包。 先谢谢你。 您好mathius顺便说一句,我也注意到,没有运行tcpdump,驱动程序统计显示rx数据包不增加。 但运行tcpdump时,rx计数增加。 所以似乎tcpdump正在驱动程序接受数据包。 也许tcpdump把驱动程序在promiscous模式? 这是“ip as”和“ip rs”命令的输出。 eobc接口是eobc的问题 pad#ip as 1:lo:mtu 65536 qdisc noop link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2:eth0:mtu 1500 qdisc noop qlen 1000 link/ether 80:3f:5d:09:7f:4b brd ff:ff:ff:ff:ff:ff 3:eobc:mtu 1500 qdisc mq qlen 1000 link/ether 00:a0:c9:00:00:00 brd ff:ff:ff:ff:ff:ff inet 192.168.0.10/24 brd 192.168.0.255 scope global eobc […]

奇怪的条目在Squid3 access.log

我的客人WiFinetworking是由Squid3透明地代理。 现在有一位来自印度尼西亚的女孩,她的三星GT-B5330运行Android 4.0.4,被“请求的URL无法检索”,“URL无效”阻止。 检查access.log我看到如下行: 1418752070.702 0 172.16.1.66 NONE / 400 3636%C0%0E%C0%0F%C0%07%C0%09%C0 – NONE / – text / html IP是路由器通过iptables DNAT向代理发送请求的IP。 是的,该url似乎非常无效。 请求types也丢失。 但是,如果我允许该设备旁路代理,它工作正常。 我到目前为止还没有做过更深入的包嗅探,因为我不能简单地没收她的手机进行实验。 所以这个问题:有人看到过这样的事吗? 在Debian 6(Squeeze)中,Squid是3.1.6。

连接到主机守护进程的Docker容器

我想在主机上运行一个守护进程,并让容器连接到它。 我以为我会将主机上的守护进程绑定到127.0.0.1 ,然后有一些东西(委托或者iptables足够?)将数据包从docker0的IP docker0到守护进程。 所以问题是 当docker守护进程启动时,我该如何开始 那是什么东西? 我在Debian 7上。 以下问题似乎相关,但AFAIK不是答案: 从docker集装箱连接到docker主机 https://stackoverflow.com/questions/25413954/how-to-setup-docker-to-talk-to-non-dockerized-service-on-same-host https://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container-how-do-i-connect-to-the-localhost-of-the-mach

为什么端口转发不能在这个设置中工作?

我正在尝试build立一个docker虚拟化环境。 这是这个问题的后续。 我有一个虚拟eth0:0接口,我想转发它使用iptables。 公众,主要知识产权为93.93.93.93 故障转移IP是5.6.7.8 我有一个服务器的IP别名configuration: 的/ etc /networking/接口 # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 93.93.93.93 netmask 255.255.255.0 network 93.93.93.0 broadcast […]

我怎么能代理请求到一个特定的IP到OS X上的不同的IP?

在OS X上,如何设置路由,以便在向10.0.0.1发出请求时将其redirect到本地主机? 现在我可以做curl localhost:3000并从运行的节点web服务器获取一个HTML blob。 我想能够做到curl 10.0.0.1:3000并已redirect到本地主机。 10.0.0.1 IP是任意的,只是用于这个例子:)

数据包转发时,netfilter是否重新组装IP分段?

IP数据报应该在path终止时重新组装,因为分段可能来自不同的path。 我认为Netfilter需要重新组装一个IP数据报,以检查整个有效负载,看看它是否符合给定的过滤规则(我正在寻找一个官方的来源,以确认当netfilter重新组装)。 当IP分片被转发,所以运行netfilter的主机不是path的末端,netfilter是否等待IP分片并重新组装它们? 如果给定的片段没有到达,会发生什么情况,因为它遵循不同的path?

如何使用iptables和单独的调制解调器转发端口到DMZ

我有一个这样的networking: ADSL VLAN 2 VLAN 3 ——[Modem]———-[firewall]———-[intranet PC] | | VLAN 4 \————-[DMZ server] 我想设置端口转发,将DMZ中的Web服务器暴露给Internet。 IP是: 调制解调器:192.168.0.1 防火墙eth0.2:192.168.0.126 防火墙eth0.3:192.168.1.1 防火墙eth0.4:192.168.2.1 PC:192.168.1.2 服务器:192.168.2.2 我打开调制解调器上的端口80和443,并将它们转发到防火墙(192.168.0.126)。 我在防火墙的iptables中有这些规则: NAT: -P PREROUTING ACCEPT -P INPUT ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -A PREROUTING -d 192.168.0.126/32 -p tcp -m multiport –dports 80,443 \ -j DNAT –to-destination 192.168.2.2 -A PREROUTING -d […]

IP forwading亚马逊ec2另一个服务器的IP

我在windows azure(NAT)中使用此命令,将所有请求redirect到其他IP的另一台服务器 iptables -t nat -A PREROUTING -i eth0 -d 10.240.154.15 -j DNAT –to-destination 192.188.47.63 ¿可以做到这一点与亚马逊ec2? 谢谢。

转发后的iptablesstream量

我有2台服务器 服务器A和服务器B ServerA = 1.1.1.1 ServerB = 2.2.2.2 我使用ip-tables将端口80上的所有stream量发送到服务器B 在服务器(A)1.1.1.1 我已经做好了 iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination 2.2.2.2:80 iptables -t nat -A POSTROUTING -j MASQUERADE 它工作正常100% 但我的netstat命令不起作用 在服务器B上2.2.2.2当我运行netstat 只有1个IP出现1.1.1.1 并在服务器A 1.1.1.1当我运行netstat,什么都不显示 在ServerA或ServerB上是否有命令查看客户端的IP地址? 谢谢, 新的所有这个iptables的东西! netstat -punta: Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State […]