Articles of iptables

iptables端口转发 – 获取源IP和端口

我有一个路由器LEDE。 在那里,我在NAT环境中设置了默认的Portforwarding。 当目的地得到一个请求时,源IP已经被重新写入了路由器的IP地址,并且源端口已经被重写到路由器的一个随机端口。 保留源IP和端口是非常棒的。 可悲的是,当我不得不使用NAT时,这似乎是不可能的。 现在,我search一个方法来获取原始的源IP和端口基于在路由器上打开的伪装端口。 这在理论上是可能的,因为它是在答案包中被回写的信息。 有没有一个命令如何看待? 或者我将不得不重写iptables? 我寻找这样的东西: $ iptables -t nat –lookup-masquerading-table –masqueraded-port 98765 Original Source-IP: 192.0.2.146 Original Source-Port: 7890 Original Dest-IP: 198.51.100.123 Original Dest-Port: 1234 Masqueraded Source-IP: 10.0.0.1 Masqueraded Source-Port: 98765 Masqueraded Dest-IP: 10.0.0.2 Masqueraded Dest-Port: 1234 提前致谢!

通过ufw和iptables阻止域名

有没有人知道阻止一个网站的域名(www.firstlightfcu.org),同时仍然允许使用IP地址(174.122.168.43)访问该网站? 我试图阻止使用iptables完美的工作,然后允许使用ufw的IP地址的网站。 无论使用IP地址还是域名访问,该站点都被阻塞。 我知道这应该是可能的,但我想我失去了一些东西,我是与Ubuntu的新用户。 任何帮助指出我在正确的方向将不胜感激。

如何将docker-container出站stream量分配给特定的NIC

我在AWS上的Amazon Linux上安装了Docker。 有2个网卡,即eth0和eth1。 它们每个绑定一个Elastic(WAN)IP。 我已经检查了curl ifconfig.co –interface eth*正确显示相应的IP。 现在我有2个Docker容器。 我希望他们每个人通过主机上不同的NIC出站他们的stream量。 即在Docker-container-A上运行curl ifconfig.co ,给出host-eth0的IP,而在Docker-container-B上运行则给出host-eth-1的IP。 我的想法是使Docker容器进入不同的子网docker run –network=custom_network ,然后确定从主机上不同的NIC出站。 我是一个不熟悉networking的程序员。 如果这个想法是正确的,有谁可以请发表评论 有什么步骤来实现它? 非常感谢你。

根据目的地路由到网关

我有一个我想用作VPN路由器的Ubuntu服务器。 基于目标IP(networking),我想将stream量路由到WAN0(Internet)或TUN0(VPN)。 我尝试使用IP路由和iptables,但没有成功。 任何build议如何做到这一点? 目前的iptables使用VPN(OpenVPN,连接到互联网),以获得互联网: iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE iptables -A FORWARD -i lan0 -o tun0 -m state –state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i tun0 -o lan0 -j ACCEPT 当然这个工作,但所有的stream量去tun0 。 我想要某些networking去wan0代替。 例如networking:62.212.73.0/24

使用iptables桥接DNATedstream量

过去几天我遇到了一个问题。 我的设置如下所述。 KVMpipe理程序[Openstack中的计算节点)。 虚拟机pipe理程序有两个接口被标记: eth0.123 <- for private connectivity. This has an IP address 172.16.134.2. eth1.456 <- for public connectivity. This is attached to a bridge device br0. No IP associated with eth1.456 or br0. [This is created by openstack's neutron service] pipe理程序的路由表: # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric […]

将ftp数据包路由到一个networking接口,其余的路由到另一个networking接口

我有一个Ubuntu 14.04服务器有两个网卡,每个连接到很less路由器,每个分离的互联网接入。 我们希望通过第二个接口em1来redirectftp端口stream量,其余所有通过默认接口p4p1 。 我有两个接口。 我已经按照这个问题的第一个选项的说明 总之,我已经创build了一个表,标记了数据包并添加了ip路由。 但ftp到em1的公共地址超时。 (路由器将ftp端口上的tcp / udpstream量转发到服务器的em1 )另外, p4p1的公共地址仍然正常响应ftp请求。 这是实现这一目标的正确方法? 奖金:如果第一个接口p4p1也能够处理ftp请求,我会很高兴,但优先级是大部分stream量都通过em1。 编辑: 直到我找出了这个ftp端口,我试着用一个高端口,30000和netcat 。 我有一个nc -l 30000 ,我试图用nc <em1 public> 30000连接另一台计算机。 我已经尝试了许多破损标记 ~# iptables -vL -t mangle Chain PREROUTING (policy ACCEPT 70M packets, 21G bytes) pkts bytes target prot opt in out source destination 0 0 MARK tcp — em1 any […]

Centos 7.4更新从lux-release中断了iptables xtables-addons

直到更新的Centos(从7.3到7.4)不再有效。 行为: #iptables -w -N 192.168.2.52 #iptables -w -I 192.168.2.52 1 -m quota2 –quota 51904512 -c 0 0 -j ACCEPT 没有xtables-addons: # iptables -w -I 192.168.2.52 1 -m quota2 –quota 51904512 -c 0 0 -j ACCEPT iptables v1.4.21: Couldn't load match `quota2':No such file or directory Try `iptables -h' or 'iptables –help' for more information. […]

如何防止(几乎)所有使用IPtables的非VPN通信到Docker服务?

我有一台服务器,我希望只能通过SSH在公共Internet上访问,但是我希望它能够连接到VPN,并将服务绑定到其VPN接口。 我正在使用Linode为我的VPN层托pipeUbuntu 16.04.2 LTS VM,ZeroTier和Swarm模式的Docker(只有一个节点)。 在虚拟机上运行ifconfig -a返回这个(为了保密而编辑的公共IP): docker0 Link encap:Ethernet HWaddr 02:42:f7:e7:e6:1e inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) docker_gwbridge Link encap:Ethernet HWaddr 02:42:ad:82:56:0f inet addr:172.18.0.1 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:adff:fe82:560f/64 […]

Iptables标记模块不会工作

为什么这不起作用? iptables -A INPUT -i eth0 -j IN_EXT iptables -A IN_EXT -s 192.168.10.0/24 -m mark –mark 1 -j IN_VPN iptables -A IN_VPN -p tcp –dport 22 -j ACCEPT 当我删除-m mark –mark 1 ,端口22将被打开。

如何列出/清除使用iptables限制扩展跟踪的条目

我对SSH会话进行速率限制的规则并不按我期望的方式工作,我希望看到由限制扩展跟踪的条目转储,但是我一直无法find任何文档提及限制扩展跟踪条目的位置。 这些信息没有被追踪,并且似乎被ipset跟踪。 限制条目在哪里跟踪,我如何访问它来查看条目,如果可能,修改条目? 作为参考,我使用的规则是: iptables -P INPUT DROP iptables -A INPUT -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp –syn –dport ssh -m limit –limit-burst 6 –limit 1/minute -j ACCEPT