Articles of iptables

为什么IP表拒绝规则中明确指定为OK的IP表?

我有最高的规则: *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] … other rules, non-involving tap777 … -A INPUT -i tap777 -p udp -m udp –dport 67 -j ACCEPT -A INPUT -i tap777 -p udp -m udp –dport 53 -j ACCEPT 我在日志中看到这个: Oct 25 04:09:43 ip-xxx-xx-xx-xxx 1 kernel: [ 1824.841222] iptables denied: IN=tap777 OUT= MAC=xx:xx:c6:93:91:bb:b8:ae:ed:7b:d1:83:08:xx […]

AWS EC2 – OpenVPN – VPN确定但客户端没有Internet连接

我已经在这个好几天了,并尝试了所有可以在网上search的东西,但似乎没有任何工作。 客户端可以连接并接收来自VPN服务器的ping响应,并且在日志中看不到任何错误。 只是客户没有互联网连接。 每当我注释掉在server.conf上push "redirect-gateway def1 bypass-dhcp" ,事情就会push "redirect-gateway def1 bypass-dhcp"但互联网不会被过滤掉。 如果启用,网站将连接,但将无法检索内容。 在客户端: $ wget google.com –2016-10-30 13:39:44– http://google.com/ Resolving google.com (google.com)… 216.58.217.174 Connecting to google.com (google.com)|216.58.217.174|:80… connected. HTTP request sent, awaiting response… 301 Moved Permanently Location: http://www.google.com/ [following] –2016-10-30 13:39:44– http://www.google.com/ Resolving www.google.com (www.google.com)… 216.58.217.164 Connecting to www.google.com (www.google.com)|216.58.217.164|:80… connected. HTTP request sent, awaiting […]

iptables SNAT&masquerade为LXC容器分离公共IP

几乎不好意思发布这个,但这是我不能说的话(正确),我试图做的,Google的几次之一。 我有一个托pipeUbuntu服务器与两个公共IP。 主机将有一些可用的服务,然后我有LXC容器安装与他们自己的私人/ 24和伪装出来。 问题是,一切都通过主要的公共IP渠道,我需要从LXC容器来的所有stream量来自辅助公共IP,而只留下主机stream量。 这是布局: eth0 1.1.1.2/24 gateway of 1.1.1.1 eth0:1 1.1.1.3/24 lxcbr0 10.0.3.1/24 iptables(current): Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all — […]

无法从防火墙访问LAN主机

我有一个问题,我似乎无法理解,这里的事情:我想要访问192.168.100.32从防火墙(192.168.1.100)的局域网服务器。 这个networking由eth0pipe理,我可以(显然)访问该networking中的任何主机。 但是,我无法从WAN接口(192.168.0.254,即eth3)访问它。 这里是每个接口的Nmap扫描结果。 $ nmap 192.168.100.32 -e eth0 // 443 / tcp 打开 https $ nmap 192.168.100.32 -e eth3 // 443 / tcp 过滤 https IPTables: Chain PREROUTING DNAT tcp — eth3 any anywhere anywhere tcp dpt:https to:192.168.100.32 Chain POSTROUTING MASQUERADE all — any eth0 anywhere anywhere MASQUERADE all — any eth3 anywhere anywhere […]

pipe理iptables和域名更改

我运行一个通过smtp.mailgun.org发送邮件的服务器。 我locking了服务器,只允许端口587上的传出SMTP到smtp.mailgun.org。 该域的IP地址最近发生了变化,因此我的系统停止发送电子邮件。 作为试图找出停止工作的一部分,我开始意识到在iptables规则中使用域名的缺点以及iptables在运行规则时执行查找并在规则时保存IP地址的事实被创build,因此域中的IP地址更改不会反映在iptables中。 他们说,从mailgun的状态页面 我们的基础设施升级将导致这些IP地址在未来更频繁的更改,客户应确保在连接到Mailgun服务时只使用我们支持的主机名。 我没有通知IP地址的变化,我不知道我是否会被通知未来的变化。 pipe理这种情况的最好方法是什么? 我应该编写一个脚本,定期检查smtp.mailgun.org的IP地址,并在更改时更新iptables吗? (我知道这样做的安全风险,但也许值得一提)。

无法通过Linux网关路由

我有2个Linux的盒子A和B,都是RHEL 7。 B nicconfiguration: eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001 inet 10.74.61.131 netmask 255.255.254.0 broadcast 10.74.61.255 inet6 fe80::1011:12ff:fec7:d118 prefixlen 64 scopeid 0x20<link> ether 12:11:12:c7:d1:18 txqueuelen 1000 (Ethernet) RX packets 4599 bytes 503250 (491.4 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4489 bytes 693330 (677.0 KiB) TX errors 0 dropped 0 overruns 0 […]

iptables和控制子网上的主机之间的stream量

最近我在TP-LINK路由器上安装了OpenWrt。 现在我想控制同一子网上的某些主机之间的stream量。 由于iptables在基于OpenWrt的路由器上是可用的,我认为这应该是一个微不足道的任务。 我正在使用OpenWrt Chaos Calmer 15.05.1。 在我的第一次尝试,我只是想添加一个新的规则到networking/防火墙/stream量规则。 例如,我想根据主机A的MAC地址和主机B的IP,阻止主机A与主机B通话: Any traffic From any host in lan with source MAC AA:AA:AA:AA:AA:AA (host A) To IP WXYZ in lan (host B) Discard forward 这个规则已经使用OpenWrts的内置向导来设置。 由于这一部分被称为“交通规则”,我认为OpenWrts负责正确添加/插入规则。 但是,主机A仍然可以与主机B通话。 在我的下一个尝试中,我手动添加了一个iptables规则到“自定义规则”部分,这是在默认规则之后加载的: iptables -A FORWARD -p ALL -m mac –mac-source AA:AA:AA:AA:AA:AA -d WXYZ -j DROP 到目前为止,我还没有能够得到这个工作。 对此有何想法? 另外,有人可以指出我的解决scheme,主机B仍然可以与主机A通话吗? 我的方法(如果工作的话)会closures任何沟通。 谢谢

如何在nftables中定义端口范围

我想在我的服务器上的nftables打开一系列的TCP端口。 通常,在netfilter / iptables中,我可以像这样写规则 iptables -A INPUT -p tcp 1000:2000 -j ACCEPT 我试图在/etc/nftables.conf中以相同的方式/etc/nftables.conf tcp dport {1000:2000} accept 但是nft报告 /etc/nftables.conf:24:15-24: Error: mapping outside of map context tcp dport {1000:2000} accept ^^^^^^^^^^

如果ip不匹配一堆ips,则Ipatables规则到NAT。

我有两个服务器192.168.0.153和192.168.0.200,我希望发送所有传入的stream量到服务器192.168.0.153:80到192.168.0.200:80 这可以使用NAT表来实现,但是,如果stream向服务器192.168.0.153:80的stream量来自192.168.0.140,192.168.0.142或192.168.0.143,则不希望发生NAT,将所有传入连接服务器192.168.0.153:80应该是192.168.0.200:80 我怎样才能实现这一点与iptables? 谢谢。

Openswan / IPtables:通过VPN隧道伪造一个唯一的IP地址

语境: 我正在Google Compute环境中运行一组实例。 每个主机在10.0.0.0私有范围内都有单个IP地址。 我有外部客户需要通过VPN连接连接到这些实例。 但是,由于它们的大小,这些客户需要一个独特的“真实”IP地址作为目标。 (为了避免多个客户端拥有相同的私有地址的风险)。在迁移到Google之前,我们可以使用思科ASA和虚拟公共接口将这些连接发送到我们的内部networking,但是附加到GCE实例的静态外部地址可以使用谷歌VPN /路由工具不会被发夹,所以这不是一个选项。 (我已经通过Google支持确认了这一点。) build议的解决scheme: 我已经在GCE环境中保留了一个静态地址(我们称之为5.xxx) 在GCE环境中,我有一个Openswan框,可以通过来自远程ASA的ipsec连接路由到内部networking。 我能够从该远程networking在专用GCEnetworking内ping主机。 (当10.0.0.0/16被configuration为目标时) 现在的目标是将VPNconfiguration的目标更改为5.xxx地址,然后让GCE Openswan框中的iptables翻译该目标以指向专用networking上的特定IP地址(10.xxx)。 我已经configuration了iptables,使得ping到5.xxx的地址在Openswan框本身上正确转换,但到目前为止,我还没有任何运气为ASA背后的主机做这项工作。 Iptables看起来像这样: # iptables -L -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT all — anywhere xxx5.bc.googleusercontent.com to:10.xxx Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source […]