Questions tagged «iptables»

iptables是用于配置Linux 2.4.x和2.6.x IPv4数据包过滤规则集的用户空间命令行程序。它针对系统管理员。请在询问有关iptables的问题时,添加以下命令的输出:iptables -L -v -n

2
Linux:针对某些应用程序/主机名阻止IPv6
问题与目标 我们没有从ISP获得IPv6,因此我有一个IPv6隧道,该隧道可以正常工作,但是速度不是很快。而且不是很可靠。我希望“以防万一”提供IPv6,但我希望某些主机(域)仅与IPv4连接。 默认协议 在我看来,所有应用程序都首先尝试IPv6。这可能是glibc设置。如果将此默认设置颠倒(对于所有应用程序),我会好的。 网络过滤器 使用Netfilter可以阻止IPv6地址/网络,但是存在两个问题: 在应用尝试IPv4之前,它会等待IPv6超时,这会导致延迟吗? 有些领域似乎很混乱,似乎有些混乱。如果可以避免,将google.com和youtube.com分开似乎是您不希望做的事情。 我只是注意到手册页中ip route提到了路由类型unreachable: 本地发件人收到EHOSTUNREACH错误。 Netfilter DROP或REJECT也会发生同样的情况吗?这样的错误不会引起相关的延迟。 DNS过滤 另一种解决方案(如果可能的话,则比较容易)是为某些域过滤AAAA记录。如果不能(轻松):是否可以连接DNS服务器和Netfilter,以便我知道“ IP地址X属于域Y”,以便可以将其添加到Netfilter?有什么比记录所有内容和重复记录更优雅的了吗? 要走的路? 有哪些(其他)可能性,最简单的是什么?

3
Centos iptables打开端口53
我在我的centos机器上打开端口53进行DNS配置时遇到问题。 这是我的iptables配置 -A INPUT -p udp -m udp --sport 53 -j ACCEPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT 当我对计算机运行nmap扫描时,只有端口80显示为打开状态。我有什么想念的吗? 编辑: 完整的iptable *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -p udp -m state --state NEW,ESTABLISHED -m udp --dport 53 -j ACCEPT -A …

5
LXC,端口转发和iptables
我有一个10.0.3.2在主机上运行的LXC容器()。服务正在端口port上的容器内部运行7000。 从主机(10.0.3.1,lxcbr0),我能达到的服务: $ telnet 10.0.3.2 7000 Trying 10.0.3.2... Connected to 10.0.3.2. Escape character is '^]'. 我很想让外部容器可以访问在容器内运行的服务。因此,我想7002将主机上的端口转发到7000容器上的端口: iptables -t nat -A PREROUTING -p tcp --dport 7002 -j DNAT --to 10.0.3.2:7000 结果为(iptables -t nat -L): DNAT tcp -- anywhere anywhere tcp dpt:afs3-prserver to:10.0.3.2:7000 尽管如此,我仍无法使用转发的端口从主机访问服务: $ telnet 10.0.3.1 7002 Trying 10.0.3.1... telnet: Unable …

2
是否可以使用iptables复制UDP单播流?
我有一个专有系统,可将udp视频流从单元#1(192.168.1.1)传输到单元#2(.1.2)。我无法对此系统进行更改,并且尝试克隆此udp流,以便可以在其他程序中访问它。该程序将处理视频,然后将其作为多播流再次发送出去。 我希望使用带有三块网卡的Linux机器(现在正在运行Ubuntu Server 12.04)进行此操作。通过将单元#1和#2连接到Linux机器中的两个网卡(eth0和eth1)并使用网桥,我可以使它们通信。我的/ etc / network / interfaces看起来像: # The loopback network interface auto lo iface lo inet loopback # The external interface auto eth3 iface eth3 inet static address 192.168.10.2 netmask 255.255.255.0 # The bridge interface auto br0 iface br0 inet manual bridge_ports eth0 eth1 这有效,并且通过使用tcpdump,我已经确认udp数据包从#1到达并在端口6000朝#2方向前进。 我希望可以使用的下一步是使用iptables克隆从192.168.1.1到2号端口6000的所有udp数据包。我对iptables不太熟悉,但是在在线阅读手册之后,我认为这可以工作: iptables …

3
在Linux下使用tc限制接口带宽
我有一个Linux路由器,其外部具有10GBe接口,内部具有绑定的千兆以太网接口。 我们目前的预算为2GBit / s。如果我们超过该速率一个月的平均值超过5%,则需要为整个10Gbit / s容量付费。以美元计,升幅很大。 因此,我想在10GBe接口上将其限制为2GBit / s。 TBF过滤器可能是理想的,但是此注释值得关注。 在除Alpha之外的所有平台上,它都能以理想的最小突发性整形高达1mbit / s的正常流量,并以配置的速率精确发送数据。 我应该使用TBF还是其他过滤器将此速率应用到接口,以及如何执行。我不明白此处提供的示例: 交通控制方法 特别是“示例9.创建256kbit / s TBF” tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0 tc qdisc add dev eth0 handle 2:0 parent 1:0 tbf burst 20480 limit 20480 mtu 1514 rate 32000bps …

4
在AWS上,我是否必须打开EC2实例的防火墙以及安全组中的端口?
如果我将SSH端口从22更改为23453,则无法再使用ssh。 更详细地讲,我在Amazon Web Services上使用Red Hat EC2实例。这是我全新安装的第二个更改(第一个更改是添加非root用户)。 我可以使用Git Bash和本地.ssh / config文件进行ssh操作,我在/ etc / ssh / sshd_config中编辑当前显示的行 #Port 23453 说 Port 23453 然后重新启动sshd sudo service sshd restart 然后,在我的.ssh / config文件中添加一行“端口23453” Host foo Hostname my-ec2-public-DNS Port 23453 IdentityFile my ssl key 如果我打开另一个Git Bash shell(不关闭我现有的连接)并尝试ssh进入我的实例(使用ssh foo),则会看到以下错误: ssh: connect to host my-ec2-public-DNS port 23453: Bad …

2
桥接LXC容器以托管eth0,以便它们可以拥有公共IP
更新: 我在那里找到了解决方案:http : //www.linuxfoundation.org/collaborate/workgroups/networking/bridge#No_traffic_gets_trough_.28except_ARP_and_STP.29 # cd /proc/sys/net/bridge # ls bridge-nf-call-arptables bridge-nf-call-iptables bridge-nf-call-ip6tables bridge-nf-filter-vlan-tagged # for f in bridge-nf-*; do echo 0 > $f; done 但是我希望对此有专家意见:禁用所有bridge-nf- *是否安全?他们在这里做什么? 更新结束 我需要将LXC容器桥接到主机的物理接口(eth0),并阅读有关该主题的大量教程,文档和博客文章。 我需要容器具有自己的公共IP(我之前已经完成了KVM / libvirt)。 经过两天的搜索和尝试,我仍然无法使其与LXC容器一起使用。 主机运行一个新安装的Ubuntu Server Quantal(12.10),仅安装libvirt(我在这里不使用)和lxc。 我使用以下命令创建了容器: lxc-create -t ubuntu -n mycontainer 因此他们也运行Ubuntu 12.10。 / var / lib / lxc / …

1
阻止某些uid(root,apache,nobody)的传出连接
在CentOS 5和6 Linux中使用iptables-如何防止以root,apache或nobody运行的进程启动传出连接? 在CentOS 5 Linux上,我尝试将这些行放入/ etc / sysconfig / iptables中: -A OUTPUT -m owner --uid-owner root -j DROP -A OUTPUT -m owner --uid-owner apache -j DROP -A OUTPUT -m owner --uid-owner nobody -j DROP 但不幸的是得到错误: # sudo service iptables restart iptables: Flushing firewall rules: [ OK ] iptables: Setting …

2
iptables | ICMP的类型:哪些有害(潜在)?
我读到某些类型的ICMP数据包可能有害。问题: 哪些,为什么? 我应该如何布置iptables规则集来处理每种类型的ICMP数据包? 我应该对这些类型的ICMP数据包进行速率限制吗?如何? [¹]我了解到以下类型:重定向(5),时间戳(13)和地址掩码请求(17)。请不要在回答时仅考虑这些内容。 更多信息 这是具有Ubuntu Server的VPS上的Web服务器。 我们的目标 我想使系统更安全,减轻一些d / DoS攻击和滥用一般的风险。 相关 我的Linux防火墙安全吗? 为什么不阻止ICMP?

3
我应该使用iptables对数据包进行速率限制吗?
我在Ubuntu服务器上使用iptables。这是VPS上的Web服务器。 我想知道是否应该对数据包进行速率限制。如果是这样,我应该如何限制速率?我应该在全球范围内还是按IP地址这样做? 参考 我看到有人建议这样做: # Limit packet traffic on a TCP or UDP port: iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m limit --limit $lim/s --limit-burst $lb -j ACCEPT # Limit established/related packet traffic: iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit $lim/s …

4
透明的SSL代理神话和事实
我一直在搜索许多小时,有关为SSL(不是Squid)设置透明代理的方法。普遍的答案是我不能,但是我知道有一些方法。我的目的只有以下几点: 黑名单/白名单域名(不是IP号)。内容将不会被过滤或修改。 强制用户浏览这些列表。如果我在网络浏览器中修改了此类设置,则可以撤消该设置。 以下页面告诉我我可以不加修改地通过流量,但没有说明如何: iptables使用privoxy的https透明代理? 下一页显示了443的iptables规则,我本人无法使用:http : //alien.slackbook.org/dokuwiki/doku.php?id=slackware : proxy 以下页面介绍了如何使其仅与Squid一起使用:http : //www.rahulpahade.com/content/squid-transparent-proxy-over-ssl-https 编辑:一个人在这里说: 我如何使用IPTABLES在Squid周围创建HTTPS(443)传递? “最好的做法是阻止对端口443的直接访问,并告诉用户如果他们要使用HTTPS,则必须将其浏览器配置为使用代理。” 但是我只知道如何完全阻止443,而不是让它在代理下工作。

2
反向SSH隧道
我试图将网络流量从远程服务器转发到本地计算机,以测试一些API集成(tropo,paypal等)。基本上,我正在尝试设置类似于tunnlr.com提供的内容。 我已经使用以下命令启动了ssh隧道 $ssh –nNT –R :7777:localhost:5000 user@server 然后我可以看到服务器现在正在使用以下端口监听7777端口: user@server:$netstat -ant | grep 7777 tcp 0 0 127.0.0.1:7777 0.0.0.0:* LISTEN tcp6 0 0 ::1:7777 :::* LISTEN $user@server:curl localhost:7777 Hello from local machine 这样就可以了。实际上,curl请求是从本地计算机提供的。 现在,如何启用通过该隧道路由server.com:8888? 我试过像这样使用nginx: upstream tunnel { server 0.0.0.0:7777; } server { listen 8888; server_name server.com; location / { access_log …

2
防火墙仍然阻止了端口53,但没有列出?
我有3个节点,从bash脚本加载了几乎相同的iptables规则,但是一个特定的节点尽管列出了接受的端口,但仍阻止了端口53上的流量: $ iptables --list -v 链输入(策略DROP 8886数据包,657K字节) pkts字节目标prot opt in出源目的地 0 0全部接受-随时随地 2122 ACCEPT icmp-任何地方icmp echo-r​​equest 20738 5600K接受所有-任何地方,任何地方状态相关,已确定 0 0 ACCEPT tcp-eth1任何位置node1.com多端口dport http,smtp 0 0接受udp-eth1任何位置ns.node1.com udp dpt:domain 0 0接受tcp-eth1任何地方ns.node1.com tcp dpt:domain 0 0全部接受-eth0任何node2.backend任何地方 21 1260全部接受-eth0任何node3.backend任何地方 0 0全部接受-eth0任何node4.backend任何地方 链转发(策略DROP 0数据包,0字节) pkts字节目标prot opt in出源目的地 链输出(策略ACCEPT 15804数据包,26M字节) pkts字节目标prot opt in出源目的地 nmap -sV -p …

2
使用iptables阻止来自一个NIC的所有传出流量?
我在Googling一定很不好,因为这似乎是一个非常基本的问题,但我似乎找不到任何答案...而且man iptables阅读时间很长! 我在linux机器上有两个NIC(eth0和eth1),我想阻止来自其中一个NIC的所有出站流量(所有端口上的TCP和UDP),以便没有流量流回到路由器。 这是什么命令?我只看到了带有特定端口的示例。 提前致谢。

3
IPTables和DHCP有问题吗?
在我的另一个线程上,我正在谈论有关iptables策略和状态的一些有趣的事情,现在我想了解有关DHCP如何工作以及iptables如何理解的更多信息。 ETH0连接到我的主交换机,该交换机从我的路由器接收动态IP,不仅可以访问Internet,还可以访问我的外部网络。 ETH1是连接到内部交换机的内部卡,X客户端从此服务器接收其IPS ETH1网络是192.168.1.0/255.255.255.0,其中服务器IP是192.168.1.254。 据我了解,dhcp是一个bootp协议,因此,即使您具有将所有内容都丢弃的防火墙策略,您的网络仍会收到DHCP,在我进行的测试中,这似乎是正确的。 从tcpdump: root@test:~# tcpdump -i eth1 port 67 or 68 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 11:34:03.943928 IP 192.168.1.2.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:0c:29:29:52:8b (oui Unknown), length 303 11:34:03.957647 …
8 iptables  dhcp  linux  bootp 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.