标签: iptables

iptables:“-p udp --state ESTABLISHED”

让我们看看这两个经常用于允许传出 DNS 的 iptables 规则:

iptables -A OUTPUT -p udp --sport 1024:65535 --dport 53 
   -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A INPUT -p udp --sport 53 --dport 1024:65535
   -m state --state ESTABLISHED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我的问题是:我究竟应该如何理解 UDP 中的 ESTABLISHED 状态?UDP 是无状态的。

这是我的直觉 - 我想知道这是否或哪里不正确:

手册页告诉我:

状态

该模块与连接跟踪结合使用时,允许访问
此数据包的连接跟踪状态。

  - 状态 ...

因此,iptables 基本上会记住用于传出数据包的端口号(对于 UDP 数据包它还能记住什么?),然后允许在短时间内发回的第一个传入数据包?攻击者必须猜测端口号(这真的太难了吗?)

关于避免冲突:

内核会跟踪哪些端口被阻止(被其他服务或先前传出的 UDP 数据包),以便这些端口不会在时间范围内用于新的传出 DNS 数据包?(如果我不小心尝试在时间范围内在该端口上启动服务会发生什么 - 该尝试会被拒绝/阻止吗?)

请找出以上文本中的所有错误:-) 谢谢,

克里斯

domain-name-system linux iptables udp

20
推荐指数
2
解决办法
3万
查看次数

我应该使用 iptables 还是 ufw?

我知道iptables。我知道 ufw。我过去一直在使用 ufw 只是因为它更容易设置和使用。

然而,一个应该我是使用?iptables 更安全吗?ufw更稳定吗?

我不知道,所以我在这里问。

ubuntu iptables ufw

19
推荐指数
1
解决办法
1万
查看次数

如何使iptables无状态?

我正在运行一个 Linux 服务器 - 不时 - 面临沉重的负载和 conntrack 表溢出。由于它的 iptables 防火墙规则集非常简单,我想将其转换为无状态模式。我知道 iptables 可以在有状态连接跟踪模式和无状态模式下运行。

我的防火墙规则都已就绪 我很确定它们是无状态的,但我的问题是如何验证防火墙是否真的在无状态模式下运行?

linux firewall iptables

19
推荐指数
3
解决办法
2万
查看次数

如何使用iptables为应用程序打开8080端口

我是服务器方面的新手,所以请原谅我的谦虚问题:-)

有人为我开发了一个充当网络服务器的 Python 应用程序。这个 TCP 应用程序需要监听 8080 端口。

[root@blabla jll]# netstat -tanpu | grep ":8080"
tcp        0      0 0.0.0.0:8080                0.0.0.0:*                   LISTEN      18209/python
Run Code Online (Sandbox Code Playgroud)

我的服务器防火墙好像没有打开8080。要打开它,我尝试像这样修改 iptables 规则:

/sbin/iptables -A RH-Firewall-1-INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

但是我在http://my.server.name:8080仍然没有任何东西。

(我什至不确定“RH-Firewall-1-INPUT”或“INPUT”)

我现在能做什么 ?这些事情有什么一般程序吗?

我给你以下有用的信息:

/sbin/iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   49  3388 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 
  25M 3736M RH-Firewall-1-INPUT  all  --  *      * …
Run Code Online (Sandbox Code Playgroud)

iptables

19
推荐指数
1
解决办法
11万
查看次数

Ping: sendmsg: 在 Arch GNU/Linux 上安装 iptables 后不允许操作错误

昨天我买了一台新电脑作为我的家庭服务器,HP Proliant 微服务器。在其上安装 Arch Linux,内核版本为 3.2.12。

安装 iptables(1.4.12.2 - 当前版本 AFAIK)并将net.ipv4.ip_forward密钥更改为 1,并在 iptables 配置文件中启用转发(并重新启动)后,系统无法使用其任何网络接口。Ping 失败

Ping: sendmsg: operation not permitted
Run Code Online (Sandbox Code Playgroud)

如果我完全删除 iptables,网络就可以了,但是我需要将 Internet 连接共享到本地网络。

eth0 - 集成在主板上的 WAN 网卡(Broadcom NetXtreme BCM5723)。

eth1 - pci-express 插槽中的 LAN NIC(英特尔 82574L 千兆网络)

由于它在没有iptables的情况下工作(服务器可以访问互联网,并且我可以从内部网络使用ssh登录),我认为它与iptables有关。我对 iptables 没有太多经验,所以我使用这些作为参考(当然彼此分开......):

wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway

revsys.com/writings/quicktips/nat.html

howtoforge.com/nat_iptables

在我以前的服务器上,我使用 revsys 指南来设置 nat,效果很好。

有没有人经历过这样的事情?我究竟做错了什么?

networking nat iptables arch-linux

19
推荐指数
2
解决办法
10万
查看次数

在一个接口上启用 iptables

我希望 iptables 只过滤一个面向 WAN 的接口 eth0。如何才能做到这一点?我想在 eth0 上保持 ftp 和 ssh 端口打开。

iptables

18
推荐指数
2
解决办法
11万
查看次数

Youtube 没有被 iptables 屏蔽

在我们的 Ubuntu 机器上,我试图通过将以下行添加到 /etc/network/interfaces 来阻止对某个用户帐户的互联网访问:

pre-up iptables -A OUTPUT -p tcp -m owner --uid-owner 1001 -j DROP
Run Code Online (Sandbox Code Playgroud)

这很好用,除非 Youtube 和其他 Google 属性没有被阻止。

我不是 iptables 的专家,但我认为上述命令会丢弃来自指定用户的所有传出请求。谷歌资产有什么特别之处会以某种方式导致它们被豁免吗?

作为参考,这里是我的 iptables 列表:

$ sudo iptables --list

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere             owner UID match ****
Run Code Online (Sandbox Code Playgroud)

iptables

18
推荐指数
1
解决办法
3827
查看次数

使用 Linux IPTables,如何阻止种子或任何 P2P 协议?

在我们的机构,我们已经将 300 多台计算机连接到不同的局域网与互联网。这里包括办公室局域网和学生互联网实验室。我们想要控制 Torrent 或任何 P2P 协议。之前对我们问题的解决方案是KerioWinRoute 6.5.x,它最满足。

问题是,我们已经使用 Webmin 平台迁移到 Ubuntu 8.04 LTS。

linux iptables

17
推荐指数
2
解决办法
8万
查看次数

iptables 新连接与 --syn

有什么区别:

iptables ... -m state --state NEW
Run Code Online (Sandbox Code Playgroud)

iptables ... --syn
Run Code Online (Sandbox Code Playgroud)

第一个应该选择 NEW 连接,但 AFAIK 新连接是通过发送 TCP syn 标志建立的。另一个意思就是-带有syn标志的数据包。

当上述命令返回不同的结果时,您能举一些实际的例子吗?

linux iptables

17
推荐指数
1
解决办法
1万
查看次数

使用 iptables,匹配数据包通过 IPSEC 隧道到达

我在隧道模式下使用 IPSEC。

如何制定一个 iptables 规则,只匹配通过 IPSEC 隧道到达的数据包(即IPSEC 解密它们之后 -而不是它们到达时和解密之前的 IPSEC 数据包)。

关键是要有一个只能通过 IPSEC 访问而世界其他地方无法访问的特定端口。

linux iptables ipsec

17
推荐指数
1
解决办法
1万
查看次数

标签 统计

iptables ×10

linux ×5

arch-linux ×1

domain-name-system ×1

firewall ×1

ipsec ×1

nat ×1

networking ×1

ubuntu ×1

udp ×1

ufw ×1