我有一套服务,我想为其中一个设置基于IP的ACL(白名单),而不是另一个。 这些问题似乎performance为服务在内部在相同的端口上运行(端口80),但我使用网关上的不同端口来访问它们。 网关上的端口8088 – > 10.0.0.A上的端口80(带有IP白名单) 网关上的端口80 – > 10.0.0.B上的端口80 而且我可以通过以下规则来解决所有问题: iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 8088 -j DNAT – 到10.0.0.A:80 iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT – 到10.0.0.B iptables -A FORWARD -p tcp -i eth0 –dport 80 -j ACCEPT 问题是FORWARD ACCEPT规则涵盖了这两个NAT规则,因为它们似乎是基于目标端口(–dport 80),而不是网关上的传入端口(80 […]
我需要将已build立的TCP连接从一个端口重新路由到另一个端口。 端口8080上的连接需要重新路由到8180。 iptables -t nat -A PREROUTING -p tcp –dport 8080 -j REDIRECT –to-ports 8180 重新路由新的连接。 但是build立的连接停留在8080端口上。它可以在飞行中重新路由吗? 如果没有,我该如何切断连接以强制redirect端口重新连接? 同样,当删除redirect时,连接是否可以强制回到原始端口(8080)?
给定一个外部IP地址和目标端口,在Linux中,有什么办法可以使用类似ngrep或tcpdump东西来识别有时向它发送stream量的进程和/或用户? 还是iptables规则? 是否有build议的方式来运行不是太耗费资源的持续监视器?
在昨天我的CentOS7系统进行了相当大的升级之后,我的Docker服务不再可用了。 从本地主机 curl localhost => curl: (56) Recv failure: Connection reset by peer 。 (haproxy)服务以前正常工作,所以我不认为这个容器有问题。 docker ps显示它被绑定: 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp : 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp / 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp : 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp 。 从远程 firewalld似乎阻止了连接: 启用firewalld: curl: (7) Failed to connect to my.example.com port 80: No route to host禁用了firewalld: curl: (56) Recv failure: Connection reset by peer 细节 $ […]
我有一个奇怪的configuration,让我们看看你是否可以给我一些build议:) 我有两个networking(10.X / 24和20.X / 24)由他们之间的Linux机器连接。 这个linux有两个接口,每个接口都有一个这样的networking。 到这些networking的设备没有网关,我不能改变,既不安装像vpn等附加软件…我也不能改变子网掩码。 我想要的是交stream每个networking的一个设备,我在想的是configuration一个像IP FORWARDING,但改变SRC和DST,我认为这更像是一个NAT。 这个想法是,如果我从20.50(来自networkingA的设备)ping到20.254(不存在),它将该分组redirect到10.50,将src更改为10.254。 这就像虚拟IP一样。 主要想法是做这个翻译: inputeth0(networkingA)SRC 20.50 DST 20.254 – > output eth1 SRC 10.254 DST 10.50 inputeth1(networkingB)SRC 10.50 DST 10.254 – >输出eth0 SRC 20.254 DST 20.50 请记住,addresces 10.254和20.254不存在,我用它们与其他networking联系,因为我不能设置一个网关,要求未知的networking既不添加静态路由。 让我们看看是否有人能给我最好的办法。 谢谢!
我有主机有ETH0,ETH1作为WAN接口,WLAN0作为客户端的接口。 主机本身的默认路由是eth0。 我需要将所有NAT客户端路由到eth1(伪装)。 试图用iptables mangle(prerouting)标记数据包 – 没有帮助。 任何人都知道如何做到这一点?
我试图在RHEL 7上使用firewall-cmd在iptables(NAT)的PREROUTING链中添加一条新规则: $ firewall-cmd –permanent –direct –add-rule ipv4 nat PREROUTING 0 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 8161 然后我通过$ iptables -t nat -L检查iptables: … Chain PREROUTING (policy ACCEPT) target prot opt source destination PREROUTING_direct all — anywhere anywhere PREROUTING_ZONES_SOURCE all — anywhere anywhere PREROUTING_ZONES all — anywhere anywhere … Chain PREROUTING_direct (1 […]
我有一个networking分为4个部分:外部DMZ,内部DMZ,用户空间和群集。 我还有4个防火墙:Internet和外部DMZ之间的边界路由器,外部DMZ和集群之间的集群前端,外部和内部DMZ之间的主要防火墙以及内部DMZ和内部DMZ之间的内部防火墙用户空间。 外部DMZ中有一个外部DNS服务器,内部DMZ中有一个内部DNS服务器。 我的目标是使用iptables规则来允许或阻止特定的查询。 我想要从外部DNS服务器处理来自Internet的查询,但只允许parsing外部DMZ的名称。 换句话说,我想阻止这些查询到达内部DNS服务器。 但是,我想允许来自群集的所有查询(由外部DNS服务器处理)以及来自用户空间的所有查询(由内部DNS服务器处理)。 例如,我在内部DMZ中有一个Web服务器。 我希望群集能够访问它(这意味着内部DNS服务器将不得不回答来自群集的请求),但是我想阻止它从Internet访问(或者更确切地说,隐藏它?)。 由于来自Internet的查询被定向到外部DNS服务器,我想阻止这些查询通过主防火墙。 只有iptables规则可能吗? 我遇到了麻烦,只允许集群查询到达内部DNS服务器。 这是我目前使用的(对于每个防火墙,eth0面向互联网,而eth1面向另一端,“向内”)。 在边界路由器上: iptables -t nat -A PREROUTING -i eth0 -p udp –dport 53 -j DNAT –to $extdns iptables -A FORWARD -p udp -d $extdns –dport 53 -m state –state NEW,ESTABLISHED -j ACCEPT iptables -A FORWARD -p udp -s $extdns –sport 53 -m state […]
我是一个初学者系统pipe理员,并想知道一些基本的东西。 我正在尝试为我的服务器设置CloudFlare。 有一些IP列入白名单,CloudFlarebuild议在terminal上使用以下命令来执行此操作: iptables -I INPUT -p tcp -m multiport –dports http,https -s "$ip" -j ACCEPT 列入白名单的IP将被replace为$ ip。 我的问题是句法。 如果命令是 iptables -I INPUT -p tcp -m multiport –dports http,https -s "103.21.244.0/22" -j ACCEPT 还是应该省略" " ,即: iptables -I INPUT -p tcp -m multiport –dports http,https -s 103.21.244.0/22 -j ACCEPT 还是不重要? 我最近在做iptables的时候做了一些修改,给人的印象是" "不需要,所以混乱。 对不起noob问题。
我想接受从我的设备发送到我的centos7 VPS的所有数据包,而不pipe在公共区域定义的选项。 ( 我想从公共区域删除SSH服务,只需要从我的MAC地址连接! ) 但是,当我将我的mac地址作为信源添加到受信任的区域时,如果我从公共场所删除ssh服务,则无法通过ssh连接到vps,直到我将ssh服务添加到公共区域。 我试图获得更高的优先级,但得到了相同的结果。 如果我添加IP地址作为源它工作正常,但我的IP地址不是静态的,我想要的是启用此选项为我的MAC地址。