有没有办法iptables更详细地查看规则?
我最近在一系列 IP 中添加了伪装:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
service iptables save
service iptables restart
Run Code Online (Sandbox Code Playgroud)
这已经完成了我想要的,但是当我使用:
iptables -L
Run Code Online (Sandbox Code Playgroud)
我得到的输出与我通常得到的输出相同:
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
Run Code Online (Sandbox Code Playgroud)
如何查看规则,包括我添加的规则?(系统为 CentOS 6)
我正在阅读这个howto,并且有这样的东西:
我们可以允许已建立的会话接收流量:
Run Code Online (Sandbox Code Playgroud)$ sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT上述规则在 ESTABLISHED,RELATED 中的逗号两侧没有空格
如果上面的行不起作用,您可能在一个阉割的 VPS 上,其提供商没有提供扩展,在这种情况下,可以使用劣质版本作为最后的手段:
Run Code Online (Sandbox Code Playgroud)$ sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
是否有之间的工作一个显著差异-m conntrack --ctstate和-m state --state?他们说一个可能行不通,但他们没有说为什么。为什么我应该更喜欢一个?
我添加了这个规则:
sudo iptables -t nat -A OUTPUT -d a.b.c.d -p tcp \
--dport 1723 -j DNAT --to-destination a.b.c.d:10000
Run Code Online (Sandbox Code Playgroud)
我有一个有两个接口的系统。两个接口都连接到互联网。其中之一设置为默认路由;这样做的副作用是,如果数据包进入非默认路由接口,则回复将通过默认路由接口发回。有没有办法使用 iptables(或其他东西)来跟踪连接并通过它来自的接口发回回复?
我很困惑 SNAT 和 Masquerade 之间的实际区别是什么?
如果我想在本地网络上共享我的互联网连接,那么我应该选择 SNAT 还是 Masquerade?
我有一个服务在 127.0.0.1 上运行,端口为 2222。我需要将所有请求转发到 192.168.2.2:2222(外部 IP),仅从子网 192.168.1.0/24 到 127.0.0.1:2222。
我正在尝试使用它,但它不起作用。
$ iptables -t nat -I PREROUTING -p tcp -d 192.168.1.0/24 --dport 2222 -j DNAT --to-destination 127.0.0.1:2222
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
UPD:编辑地址方案。
我正在使用iptables扫描一个应该有一个非常简单的防火墙的服务器:默认情况下,除了数据包之外RELATED,所有东西都被删除ESTABLISHED。唯一NEW允许的数据包类型是端口 22 和 80 上的 TCP 数据包,仅此而已(该服务器上没有 HTTPS)。
如我所料,nmap在前 2048 个端口上的结果显示22 和 80 是开放的。然而,一些端口显示为“已过滤”。
我的问题是:为什么端口 21、25 和 1863 显示为“已过滤”而 2043 其他端口未显示为已过滤?
我预计只会看到 22 和 80 为“开放”。
如果将 21,25 和 1863 视为“已过滤”是正常的,那么为什么所有其他端口也不是“已过滤”!?
这是nmap输出:
# nmap -PN 94.xx.yy.zz -p1-2048
Starting Nmap 6.00 ( http://nmap.org ) at 2014-06-12 ...
Nmap scan report for ksXXXXXX.kimsufi.com (94.xx.yy.zz)
Host is up (0.0023s latency).
Not shown: 2043 closed ports
PORT STATE SERVICE
21/tcp filtered ftp …Run Code Online (Sandbox Code Playgroud) 这是我的/etc/sysconfig/iptables:
它有两个端口,80 apache 和 22 ssh。
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j …Run Code Online (Sandbox Code Playgroud) 我有一个带有防火墙的系统。防火墙由 1000 多个 iptables 规则组成。这些规则之一是丢弃我不想丢弃的数据包。(我知道这一点,因为我确实iptables-save遵循了iptables -F并且应用程序开始工作。)有太多规则需要手动排序。我可以做些什么来告诉我哪个规则正在丢弃数据包吗?