MikeWang000000 / Natter

Expose your TCP/UDP port behind full-cone NAT to the Internet.
GNU General Public License v3.0
1.63k stars 137 forks source link

【群晖】iptables报错,不认识 -m comment --comment NATTER_UUID=44dd0b25-3284-4d10-b9a2-001aff022804 #50

Closed lilyok1234 closed 8 months ago

lilyok1234 commented 9 months ago

/opt # python3 natter.py -m iptables -t 192.168.2.4 -p 80 2024-02-19 06:57:34 [I] Natter v2.0.0-rc2 iptables: No chain/target/match by that name. subprocess.CalledProcessError: Command '['iptables', '-t', 'nat', '-I', 'NATTER', '-p', 'tcp', '--dst', '100.73.4.216', '--dport', '43588', '-j', 'DNAT', '--to-destination', '192.168.2.4:80', '-m', 'comment', '--comment', 'NATTER_UUID=44dd0b25-3284-4d10-b9a2-001aff022804']' returned non-zero exit status 1.

用的是,目前手动下发规则可用, iptables -t nat -I NATTER -p tcp --dst 100.73.4.216 --dport 43588 -j DNAT --to-destination 192.168.2.4:80

/opt # iptables --version iptables v1.4.13

大佬有啥办法不,我直接把源码中的-m命令删除行不?

MikeWang000000 commented 9 months ago

是什么操作系统?执行 cat /etc/os-releaseuname -a 分别看一下。

有用户反馈群晖的 iptables 缺少相关模块:https://github.com/MikeWang000000/Natter/issues/45#issuecomment-1925416081

GitHub 上有相关仓库可以补全:sjtuross/syno-iptables


关于 iptables 命令里的 -m comment 部分,是用于标记条目 Natter 退出后删除用的。

如果没有这个,Natter 退出后就不能清理规则,残留在系统中,直至重启。如果不介意残留,这部分可以删掉。

MikeWang000000 commented 9 months ago

群晖 DSM 7.2.1 系统复现。 为了兼容群晖系统,考虑下个版本移除 -m comment,采用其它方法清理条目。

lilyok1234 commented 9 months ago

好的,谢谢,我的环境主要比较特殊,我是在光猫里跑,光猫都是只读文件系统也不让改iptables的版本,安装也不方便。到时更新了我再验证试下

MikeWang000000 commented 8 months ago

Fixed by a001eec.