AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[iptables](ubuntu)

Martin Hope
Kingphoenix
Asked: 2023-05-20 19:17:17 +0800 CST

我如何通过 VPS 中的 iptables 更改 ping (icmp) 数据包大小?

  • 5

我如何使用 iptables 将 ping (icmp) 数据包大小从默认值(64 字节)更改为 1 字节,以便 VPS 输入和输出 ping 到 VPS 中的特定 IP?

我执行了这个命令,但是当我再次 ping 时,每个请求都发送了 64 个字节。

对于输入

iptables -A INPUT -p icmp --icmp-type echo-r​​equest -s <IP_address> -m length --length 1 -j ACCEPT

对于输出

iptables -A OUTPUT -p icmp --icmp-type echo-r​​eply -d <IP_address> -m length --length 1 -j ACCEPT

iptables
  • 1 个回答
  • 27 Views
Martin Hope
Paul G
Asked: 2021-12-24 07:34:11 +0800 CST

VPN/WIreguard 在内部和外部转发流量

  • 1

这可能更像是一个 Linux 防火墙问题,但上下文是 Ubuntu 上的 Wireguard VPN 设置。请注意,我几乎不熟悉这些东西。

我在 Digital Ocean Ubuntu 上启动并运行了 Wireguard,Windows 和 Android 客户端都在使用它。一切似乎都很好。

我在出现时使用的基本防火墙命令如下: 因此,第 3 行似乎将所有进入wg0(私有 VPN)的流量通过公共eth0接口路由出去。正如它应该(几乎?),它工作正常。Wgo/Private 网络是10.8.0.1/24,服务器是10.8.0.1. 当客户端流量进入下面的服务器10.8.0.x(专用网络中的另一个地址)时,它会超时。

我“认为”这是因为它试图通过路由eth0?如果是这样,我如何确保发往私有子网的流量仍然使用wg0接口?如果没有,还有其他建议吗?

PreUp = sysctl -w net.ipv4.ip_forward=1
PreUp = sysctl -w net.ipv6.conf.all.forwarding=1
PostUp = ufw route allow in on wg0 out on eth0
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on eth0
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w net.ipv4.ip_forward=0
PostDown = sysctl -w net.ipv6.conf.all.forwarding=0
iptables
  • 1 个回答
  • 910 Views
Martin Hope
keroles gamal
Asked: 2021-11-20 00:15:37 +0800 CST

桌面Ubuntu-20.04.3 iptables问题

  • 1

我想测试一些 iptables 规则,该规则是拒绝除 DNS 之外的所有出站流量。
所以我使用此命令将过滤表的 OUTPUT 默认规则更改为 DROP。

sudo iptables -t filter -P OUTPUT DROP

然后我将此规则附加到接受 DNS 流量。

sudo iptables -t filter -A OUTPUT -p udp --dport 53 -o ens33 -j ACCEPT

我运行这个命令来测试策略。

nslookup google.com

在运行这个命令之前,我在我的虚拟机和主机上运行了 wireshark。
然后 nslookup 命令花费了一些时间并给了我这个消息。

连接超时; 无法访问任何服务器

并且wireshark(在虚拟机和主机上)没有捕获任何数据包。

所以我删除了这条规则并添加了另一个。

sudo iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT

并做了和以前一样的事情。
再次出现相同的消息,但wireshark(在虚拟机和主机上)捕获数据包(请求和响应)。

然后我删除了这条规则并添加了下一条规则。

sudo iptables -t filter -A OUTPUT -p udp -j ACCEPT

并做了和以前一样的事情。
这次 nslookup 命令返回结果,并用wireshark 捕获数据包。

那么为什么会这样呢?

在这些测试之前,我安装了 snort(在不同的虚拟机上),我试图丢弃一些数据包,但它没有。
数据包被记录但不被丢弃。
我不知道这些案件是否相关。

iptables
  • 1 个回答
  • 154 Views
Martin Hope
gaazkam
Asked: 2021-10-23 04:45:38 +0800 CST

Ubuntu 21.10 切换到 nftables,为什么 iptables 仍然可用?

  • 7

根据21.10 发行说明:

nftables 现在是防火墙的默认后端。

但是,在安装了 Ubuntu 21.10 之后,我可以看到我仍然默认安装了 iptables(和 ufw):

m@m-VirtualBox:~$ whereis iptables

iptables: /usr/sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz

m@m-VirtualBox:~$ whereis ufw

ufw: /usr/sbin/ufw /usr/lib/ufw /etc/ufw /usr/share/ufw /usr/share/man/man8/ufw.8.gz

为什么会这样?

据我所知,ufw它是 iptables 的包装器,而不是 nftables。

我可以安全地使用这些命令吗?或者我应该注意不要在终端中输入iptables或输入?ufw

iptables
  • 2 个回答
  • 6617 Views
Martin Hope
user278965
Asked: 2021-10-15 04:49:30 +0800 CST

带有 NTP 的 iptables

  • 0

我iptables用来过滤流量并chronyd同步系统时间。但是,我没有让它工作,不知何故chronyd无法访问 NTP 服务器。

这是我的 iptables 规则:

# iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-A INPUT -i eth0 -p udp -m udp --dport 123 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --sport 123 -j ACCEPT

这是我尝试同步系统时间:

# chronyd -4 -q 'server 0.openembedded.pool.ntp.org iburst'
2021-01-27T09:06:15Z chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC -PRIVDROP -SCFILTER -SIGND +ASYNCDNS -SECHASH +IPV6 -DEBUG)
2021-01-27T09:06:15Z No suitable source for synchronisation
2021-01-27T09:06:15Z chronyd exiting

当我清除所有规则时,上述同步命令可以正常工作。

iptables
  • 1 个回答
  • 386 Views
Martin Hope
Kamil Skwirut
Asked: 2021-08-13 02:25:25 +0800 CST

IPTABLES 预路由,批量添加

  • 0

也许有人知道我如何使用命令向 iptables 批量添加 1 400 000 个 ip:

iptables -I PREROUTING -t raw -d $ipban -j DROP

现在我正在使用:

while read ipban
do
iptables -I PREROUTING -t raw -d $ipban -j DROP
done < ips.txt

但是已经花费了20多个小时来添加。

我的 vps 非常小,比如 1gb ram 和 1vcpu,所以它不是那么快。

我尝试进行 iptables 恢复,但几乎没有错误,所以我正在寻找最快的解决方案。

iptables
  • 1 个回答
  • 278 Views
Martin Hope
Kamil Skwirut
Asked: 2021-08-03 02:03:59 +0800 CST

如何阻止来自端口上 IP 地址的传入流量

  • 0

如何在我的 Ubuntu 18.04(在指定端口上)阻止来自流量来源的所有 IP 地址,或者仅将连接到该端口的所有 IP 地址记录到.txt文件中?

iptables
  • 1 个回答
  • 566 Views
Martin Hope
Ancoron
Asked: 2021-03-01 06:46:25 +0800 CST

firewalld - 没有这样的文件或目录

  • 1

从 Ubuntu 20.04 升级到 20.10 后,我想最终开始使用 firewalld 而不是旧的手动 iptables 方法,但我从服务中得到的只是以下内容,这也破坏了与 Docker 的任何网络集成:

Feb 13 13:28:20 myhost firewalld[36390]: ERROR: 'python-nftables' failed: internal:0:0-0: Error: Could not process rule: No such file or directory

该错误消息并没有真正的帮助,因为它没有说“找不到什么”。

我还尝试直接journalctl --unit firewalld --no-pager使用该nft命令执行 JSON blob (from ),但这只会给出相同的错误消息,实际上是多次。所以错误消息是来自libnftables1.

iptables
  • 1 个回答
  • 1812 Views
Martin Hope
George Townsend
Asked: 2021-01-13 00:26:50 +0800 CST

在 Ubuntu 16.04 上运行 NAT 后,到路由器的 ssh 连接将无法正常工作

  • 2

我刚刚从我的 ISP 那里为我正在处理的一个项目安装了一个新的安装程序,在该项目中我使用自己的路由器使用 PPPoE 连接到 ISP。我的路由器(Ubuntu 16.04)有两个以太网适配器——一个运行 PPPoE 以连接到 ISP,另一个以 192.168.0.0 为我的本地 LAN 供电。该 LAN 上的适配器是 192.168.0.1。

我设法让 PPPoE 启动并运行,并让 DHCP 和 DNS 正常工作。那时世界一切都很好。那时我可以使用 ISP 给我的静态 IP 远程 ssh 进入这个盒子。

最后一步是让 NAT 工作。一旦我启动并运行 NAT,我就无法再使用我的静态 IP 从 Internet SSH 进入。如果我刷新我的 iptables,那么一切都很好(但我当然失去了 NAT)。当我重新加载表时,我失去了 ssh。

运行 NAT 后,其他一切都很好 - 路由器后面的机器可以访问远程网站并可以 ssh 到远程站点。唯一中断的是我远程 ssh 进入我的路由器的能力。

现在,我意识到我可能不希望能够长期远程 ssh,但我的问题是如何解决这个问题,而不是如何“不这样做”。首先,我想了解正在发生的事情,其次,在我玩游戏和试验的短期内,我希望能够从互联网上 ssh 进入这个路由器。

我了解 NAT 背后的基本原理以及它的作用,但是作为 NAT 的新手,我并不真正了解这些表格如何使它完成需要完成的工作。所以我也希望有人能帮助我——那里只有几行需要解释。我希望有人至少可以看看我的 iptables 并找出我需要添加或删除什么来解决问题,如果他们能帮助我理解为什么会很好。

这是我从 iptables-save 得到的:

*filter
:INPUT ACCEPT [437:32936]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1025:121653]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -m state --state NEW -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i ppp0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp1s0 -o ppp0 -j ACCEPT
-A FORWARD -i ppp0 -o enp1s0 -j REJECT --reject-with icmp-port-unreachable
COMMIT


*nat
:PREROUTING ACCEPT [664:132498]
:INPUT ACCEPT [227:18335]
:OUTPUT ACCEPT [410:31400]
:POSTROUTING ACCEPT [7:522]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT

*mangle
:PREROUTING ACCEPT [53197:28014137]
:INPUT ACCEPT [1215:191342]
:FORWARD ACCEPT [51916:27803280]
:OUTPUT ACCEPT [1027:122421]
:POSTROUTING ACCEPT [52950:27926212]
COMMIT

[123456:987654] 符号是什么?

这就是整个故事。提前致谢。

-gt-

iptables
  • 1 个回答
  • 114 Views
Martin Hope
Shivank Anchal
Asked: 2020-12-22 10:46:51 +0800 CST

我的端口已关闭,即使在端口转发之后

  • 0

我在 Ubuntu 20.04 上运行 Apache2,我的服务器可以从连接到我的 WIFI 路由器的所有设备(包括手机和笔记本电脑)访问。这是访问我的服务器时呈现的内容。 现在我想从 Internet 访问我的服务器。

这是 route -n 的输出

frozenmafia@frozenmafia-H81M-S:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    600    0        0 wlxd03745b828ea
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlxd03745b828ea
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 wlxd03745b828ea

这是 ifconfig 的输出

frozenmafia@frozenmafia-H81M-S:~$ ifconfig
enp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 40:8d:5c:a5:eb:f9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 5856  bytes 572976 (572.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5856  bytes 572976 (572.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlxd03745b828ea: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.39  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::2970:d411:fb39:7ff6  prefixlen 64  scopeid 0x20<link>
        ether d0:37:45:b8:28:ea  txqueuelen 1000  (Ethernet)
        RX packets 388866  bytes 507534243 (507.5 MB)
        RX errors 0  dropped 2905  overruns 0  frame 0
        TX packets 263147  bytes 67686494 (67.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这是ufw状态的输出

frozenmafia@frozenmafia-H81M-S:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
Apache Full                ALLOW       Anywhere                  
8080                       ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
Apache Full (v6)           ALLOW       Anywhere (v6)             
8080 (v6)                  ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)   

这是 sudo netstat -tlpn 的输出

frozenmafia@frozenmafia-H81M-S:~$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      706/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      975/sshd: /usr/sbin 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      938/cupsd           
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      2201/smbd           
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      2201/smbd           
tcp6       0      0 :::80                   :::*                    LISTEN      1045/apache2        
tcp6       0      0 :::22                   :::*                    LISTEN      975/sshd: /usr/sbin 
tcp6       0      0 ::1:631                 :::*                    LISTEN      938/cupsd           
tcp6       0      0 :::445                  :::*                    LISTEN      2201/smbd           
tcp6       0      0 :::139                  :::*                    LISTEN      2201/smbd    

为了使我的机器公开,我需要进行端口转发。为此,我将配置我的 WIFI 路由器。 我是这样做的。

这是我的 WAN 状态

我相信这应该足以让我的机器公开。我在这里测试过。这表明我的端口已关闭。

现在,我想到了使用 iptables 来做端口转发。我按照本教程 输入了以下命令。

frozenmafia@frozenmafia-H81M-S:~$ cat /proc/sys/net/ipv4/conf/wlxd03745b828ea/forwarding 
1
frozenmafia@frozenmafia-H81M-S:~$ sudo  iptables -t nat -A PREROUTING -p tcp -i wlxd03745b828ea --dport 80 -j DNAT --to-destination 192.168.1.39:80
frozenmafia@frozenmafia-H81M-S:~$ sudo iptables -A FORWARD -p tcp -d 192.168.1.39 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
frozenmafia@frozenmafia-H81M-S:~$ ip route
default via 192.168.1.1 dev wlxd03745b828ea proto dhcp metric 600 
169.254.0.0/16 dev wlxd03745b828ea scope link metric 1000 
192.168.1.0/24 dev wlxd03745b828ea proto kernel scope link src 192.168.1.39 metric 600 

现在,我相信我已经尽一切努力让我的服务器公开。我在这里再次测试了我的机器可访问性,这表明我的失败。

我已联系我的 ISP 并确认所有端口都已打开。我希望我已经解释并证实了我所做的一切。如果有人纠正我并为我的问题提供解决方案,那就太好了。感谢您

networking server iptables apache2 firewall
  • 1 个回答
  • 861 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve