【网络成长记】(202408) iptables常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
iptables -t filter -L -n

iptables -t filter -A INPUT -j DROP -p tcp --dport 8081
# 1表示第1条 -D表示删除
iptables -t filter -D INPUT 1

# 会断掉当前的ssh
iptables -t filter -A OUTPUT -j DROP -p tcp --d x.x.x.x



PRE 改目的地址
POST 改源



按照顺序匹配,最终匹配不到的会按照默认policy走

# 自定义链
iptables -N mychain
# 删除自定义链
iptables -X mychain

iptables -F

iptables -j MARK –set-xmark 解析_iptables –set-xmark-CSDN博客

1
2
3
4
5
6
7
???? 
# 初始 --set-xmark 0x4000/0x4000 (这里就不转2进制了)
# 之后 --set-xmark 0x4000/0x0
先看掩码0x0,等于没有。所以第一步计算完还是0x4000
第二步,0x4000与0x4000异或,两个值所有位都相等。所以异或完的结果是全0,全0就代表没有mark。
所以 --set-xmark 0x4000/0x0这个配置相当于把第一步设置的ctmark (0x4000/0x4000)清除了。

文心一言

iptables -Z是什么意思

1
2
3
在`iptables`中,`-Z` 或 `--zero` 选项用于将指定链(chain)或所有链中的计数器归零。这些计数器跟踪了每个规则匹配的数据包数量和字节数。通过归零这些计数器,你可以重置它们,以便重新开始跟踪,特别是在你希望重新评估规则的效率或调试新规则时非常有用。

使用`-Z`选项时,你可以指定一个或多个链名,如果不指定链名,则默认将所有链的计数器归零。

iptables -F和-X的区别区别总结

  • 操作对象-F操作的是链内的规则,而-X操作的是链本身(但仅限于自定义链)。
  • 效果-F清空链内规则但不删除链,-X删除自定义链及其规则。
  • 限制-F可以应用于内置链和自定义链,但-X只能应用于自定义链,且该链必须为空(不包含任何规则)才能被删除。

参考

iptables -h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[root@ubuntu-22 ~]# iptables -h
iptables v1.8.7

Usage: iptables -[ACD] chain rule-specification [options]
iptables -I chain [rulenum] rule-specification [options]
iptables -R chain rulenum rule-specification [options]
iptables -D chain rulenum [options]
iptables -[LS] [chain [rulenum]] [options]
iptables -[FZ] [chain] [options]
iptables -[NX] chain
iptables -E old-chain-name new-chain-name
iptables -P chain target [options]
iptables -h (print this help information)

Commands:
Either long or short options are allowed.
--append -A chain Append to chain
--check -C chain Check for the existence of a rule
--delete -D chain Delete matching rule from chain
--delete -D chain rulenum
Delete rule rulenum (1 = first) from chain
--insert -I chain [rulenum]
Insert in chain as rulenum (default 1=first)
--replace -R chain rulenum
Replace rule rulenum (1 = first) in chain
--list -L [chain [rulenum]]
List the rules in a chain or all chains
--list-rules -S [chain [rulenum]]
Print the rules in a chain or all chains
--flush -F [chain] Delete all rules in chain or all chains
--zero -Z [chain [rulenum]]
Zero counters in chain or all chains
--new -N chain Create a new user-defined chain
--delete-chain
-X [chain] Delete a user-defined chain
--policy -P chain target
Change policy on chain to target
--rename-chain
-E old-chain new-chain
Change chain name, (moving any references)
Options:
--ipv4 -4 Nothing (line is ignored by ip6tables-restore)
--ipv6 -6 Error (line is ignored by iptables-restore)
[!] --proto -p proto protocol: by number or name, eg. `tcp'
[!] --source -s address[/mask][...]
source specification
[!] --destination -d address[/mask][...]
destination specification
[!] --in-interface -i input name[+]
network interface name ([+] for wildcard)
--jump -j target
target for rule (may load target extension)
--goto -g chain
jump to chain with no return
--match -m match
extended match (may load extension)
--numeric -n numeric output of addresses and ports
[!] --out-interface -o output name[+]
network interface name ([+] for wildcard)
--table -t table table to manipulate (default: `filter')
--verbose -v verbose mode
--wait -w [seconds] maximum wait to acquire xtables lock before give up
--wait-interval -W [usecs] wait time to try to acquire xtables lock
default is 1 second
--line-numbers print line numbers when listing
--exact -x expand numbers (display exact values)
[!] --fragment -f match second or further fragments only
--modprobe=<command> try to insert modules using this command
--set-counters PKTS BYTES set the counter during insert/append
[!] --version -V print package version.

【网络成长记】(202408) iptables常用命令
http://example.com/2024/08/29/net/【网络成长记】(202408) iptables常用命令/
作者
ningan123
发布于
2024年8月29日
许可协议