找回密码
 注册
查看: 653|回复: 2

iptables 添加限制规则允许某ip通过端口登录,其他不允许

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-3 08:30:06 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 5 金钱 才能浏览

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-3 08:31:37 | 显示全部楼层
示例 1. 删除已有规则
/ j1 S& [/ w. h4 g  z4 o8 k& H1 N在开始创建iptables规则之前,你也许需要删除已有规则。命令如下:
9 u/ U1 X4 i  F: Z
, q  H) b( _6 Miptables -F
6 M  G3 D0 ]& W8 z8 A2 F0 ?; [- Z4 o
" J& C  r5 V$ J3 D( or)& x6 [7 H  n3 C7 q( J0 h' h
  r& X6 B  W8 \
iptables – flush" L% {. J3 |$ X# \! x
  P6 g8 N0 X" \/ }+ }
2.设置链的默认策略0 m# @; ~- b2 P9 f

) N, ?. U. |& h" z链的默认政策设置为”ACCEPT”(接受),若要将INPUT,FORWARD,OUTPUT链设置成”DROP”(拒绝),命令如下:
' ?  p8 q  S% L1 L& W; y1 C8 a
. J# ^2 L3 ^% R+ x9 `, X0 g& Wiptables -P INPUT DROP2 G6 W  G% N  l! _
, V. V# L9 d9 f) Y
iptables -P FORWARD DROP
5 }3 o8 w& S2 w9 A
2 e8 N, A  T8 l& v4 X. H- Q2 E- ]% R2 h% `iptables -P OUTPUTDROP3 E9 ~! l. e5 ^- S' K! e4 U" h

4 X: ]: T0 T' n7 r1 @当INPUT链和OUTPUT链都设置成DROP时,对于每一个防火墙规则,我们都应该定义两个规则。例如:一个传入另一个传出。在下面所有的例子中,由于我们已将DROP设置成INPUT链和OUTPUT链的默认策略,每种情况我们都将制定两条规则。当然,如果你相信你的内部用户,则可以省略上面的最后一行。例如:默认不丢弃所有出站的数据包。在这种情况下,对于每一个防火墙规则要求,你只需要制定一个规则——只对进站的数据包制定规则。% b4 u8 Q, r/ B; O

2 M1 X, i. q" y( c3 q7 z- q3. 阻止指定IP地址
, ?% I$ E) R& w; A% G5 S- {. j! k9 m) |" @0 a* v
例:丢弃来自IP地址x.x.x.x的包
& x" w/ Y: B) l4 l9 ^! P
; O6 t* E  G6 k! o- hBLOCK_THIS_IP= "x.x.x.x"
8 F9 O) y6 ?( {- t
6 a" {6 O; N$ C1 }7 Q+ o$ p- Kiptables -A INPUT -s "$BLOCK_THIS_IP"-j DROP8 S8 e  l( d/ I  G# Q

) x2 G- O4 s  b0 J4 |注:当你在log里发现来自某ip地址的异常记录,可以通过此命令暂时阻止该地址的访问以做更深入分析0 R$ [# Q0 O4 O8 x" m

" s' ^9 @5 p" T# c( J例:阻止来自IP地址x.x.x.x eth0 tcp的包
0 r& w7 X9 i6 N# ?
# U9 b+ b0 J) m. T2 i8 R3 s6 {iptables-A INPUT -i eth0 -s "$BLOCK_THIS_IP"-j DROP5 I$ u; c" t3 Y1 V

3 m: T' ^0 q" o' p0 Liptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP"-j DROP
# ^! o' M1 d: P( C. S6 B
$ @+ t) M+ C0 ^6 R' f' _4. 允许所有SSH的连接请求0 L& d; a/ I2 F2 F

- M& ^6 ^6 F* t0 S/ V3 |6 N例:允许所有来自外部的SSH连接请求,即只允许进入eth0接口,并且目标端口为22的数据包
3 a; V+ W$ I$ o/ K+ ^
( ?$ B' j, J9 ciptables -A INPUT -i eth 0-p tcp --dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT5 a8 G& _6 w" }; Q
) B. F& S/ `3 B5 G( T
iptables -A OUTPUT -o eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT( k8 n$ L7 O9 V. G' A9 h, d/ ]
) e! B# V8 E% A$ b5 l0 ~% M
5. 仅允许来自指定网络的SSH连接请求
( ?; E# f) c  M2 ~% N' E1 F/ ~# B' Q  e- N( w& o1 m
例:仅允许来自于192.168.100.0/24域的用户的ssh连接请求
/ A0 n. _0 d/ D; ?" X7 e
' [8 n7 s( a6 K7 l/ u$ B% oiptables -A INPUT -i eth 0-p tcp - s192.168. 100.0/ 24--dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT
. p* Y! |: o% Q0 A" ~7 y  i# u+ \* s' _0 T9 ^6 n8 x
iptables -A OUTPUT -o eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT
3 i2 E# s6 D% N- e5 u& n$ h) s
6.允许http和https的连接请求
1 C4 R5 l  _1 z- [& U% ^7 |
( Y6 U0 F- m' W. b# d例:允许所有来自web - http的连接请求2 G2 j$ `8 t% }1 D' V
9 b3 ~" [4 r7 i
iptables -A INPUT -i eth 0-p tcp --dport 80- mstate-- stateNEW,ESTABLISHED -j ACCEPT
6 e5 [4 V% _$ W6 ?) C1 x3 h5 o& E
4 z9 u. v* j, O8 ~0 ~3 L% |iptables -A OUTPUT -o eth 0-p tcp --sport 80- mstate-- stateESTABLISHED -j ACCEPT0 ~( c* l0 l3 Q
( K8 @8 [. F5 T
例:允许所有来自web - https的连接请求" N3 u3 L/ g7 D' G

$ q3 Q, K3 K* t) m- n; t8 Fiptables -A INPUT -i eth 0-p tcp --dport 443- mstate-- stateNEW,ESTABLISHED -j ACCEPT& P/ ?5 m1 t# |4 ^1 \

2 ]% n2 Z3 c3 r# G0 {- v' h. \6 d( @5 Aiptables -A OUTPUT -o eth 0-p tcp --sport 443- mstate-- stateESTABLISHED -j ACCEPT
2 z4 E. h6 |: {* ?- i# ~4 r1 n% s4 O! a! y
7. 使用multiport 将多个规则结合在一起$ g$ A2 V+ H' a  ?3 z1 c. a9 D  ~

7 V' `7 ]2 G. U; K5 z5 u9 f- J允许多个端口从外界连入,除了为每个端口都写一条独立的规则外,我们可以用multiport将其组合成一条规则。如下所示:! j  [3 M6 S: q7 M3 w

7 [5 x8 e* V6 {% A( s* K, g9 q4 u例:允许所有ssh,http,https的流量访问
  ]8 x; w5 i) B' |0 z  F8 {
, y: q! q# M: y. t+ s& z' _& f$ xiptables -A INPUT -i eth 0-p tcp - mmultiport --dports 22, 80, 443- mstate-- stateNEW,ESTABLISHED -j ACCEPT
" }. g4 K" |- U+ G' t1 q
  @, L8 V0 Q7 J3 D# k$ [iptables -A OUTPUT -o eth 0-p tcp - mmultiport --sports 22, 80, 443- mstate-- stateESTABLISHED -j ACCEPT
$ o: G# a. [6 {& n* q/ ^5 a& R: J- A2 X3 X1 }. U  l; }
8. 允许从本地发起的SSH请求iptables -A OUTPUT -o eth 0-p tcp --dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT4 J7 n5 ^, e+ [
1 ?% d# {# T( I
iptables -A INPUT -i eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT
* t% _; j2 I' ]0 t
3 U- d4 L. l+ P' ^9 v# w  j请注意,这与允许ssh连入的规则略有不同。本例在OUTPUT链上,我们允许NEW和ESTABLISHED状态。在INPUT链上,我们只允许ESTABLISHED状态。ssh连入的规则与之相反。$ F: ?/ O4 m0 I5 ?' H" p. ?$ {4 A
: c  @, W+ v+ I" L
9. 仅允许从本地发起到一个指定的网络域的SSH请求- R  @" O; b' B4 ~
! {0 F' q% U# n( A2 w
例:仅允许从内部连接到网域192.168.100.0/24! z0 U9 \/ u( f" `/ ~3 b* X

9 u' v0 h/ ^. c" f$ W/ f$ siptables -A OUTPUT -o eth 0-p tcp -d 192.168. 100.0/ 24--dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT
( F, C& F; M1 z: D$ G1 {# ?3 s* O+ e5 `  e) ?: B
iptables -A INPUT -i eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT
" l2 b7 G4 K% W5 }- E- y
9 l* a7 p0 O( o+ t& Z10. 允许从本地发起的HTTPS连接请求
6 S3 L9 G! o8 W0 w& B+ @0 i5 w: J! k, f( x6 A4 U* ?  N
下面的规则允许输出安全的网络流量。如果你想允许用户访问互联网,这是非常有必要的。在服务器上,这些规则能让你使用wget从外部下载一些文件2 h6 S- Y8 l% i- A
. s- ?' S6 D- V. F) p" [
iptables -A OUTPUT -o eth 0-p tcp --dport 443- mstate-- stateNEW,ESTABLISHED -j ACCEPT
/ l$ p# d1 B1 X5 {$ ~9 c  r' `: m( L5 l5 M
iptables -A INPUT -i eth 0-p tcp --sport 443- mstate-- stateESTABLISHED -j ACCEPT
) i- G# m9 z/ a! o' f" j! }$ O- C3 z; P. q4 O
注:对于HTTP web流量的外联请求,只需要将上述命令中的端口从443改成80即可。
' i% f7 ~  S. z4 Q5 g9 w/ \- W; `& R) O4 I/ X* i% j! W8 E
11. 负载平衡传入的网络流量
  e- M* H( i" z7 T# z0 l( ~  H7 V. G* I/ b
. q+ {+ s6 C3 }% B0 L. c, h8 }使用iptables可以实现传入web流量的负载均衡,我们可以传入web流量负载平衡使用iptables防火墙规则。. ~! N4 K0 W% ?/ T: C; W) a$ f- }

, C; T% n/ b0 R例:使用iptables nth将HTTPS流量负载平衡至三个不同的ip地址。& N4 L2 ]) N1 f: W
. e7 A0 l4 H8 y0 t' A
iptables-APREROUTING-ieth0-ptcp--dport443 -mstate--stateNEW-mnth--counter0 --every3 --packet0 -jDNAT--to-destination192 .168.1.101:443) M1 y/ W; [( Y) ^  q$ s% x. S6 v
4 r- e, h  O) E
iptables-APREROUTING-ieth0-ptcp--dport443 -mstate--stateNEW-mnth--counter0 --every3 --packet1 -jDNAT--to-destination192 .168.1.102:443" d# ~1 i0 ~2 ^

" U/ y9 F+ o# ]0 \# j$ xiptables-APREROUTING-ieth0-ptcp--dport443 -mstate--stateNEW-mnth--counter0 --every3 --packet2 -jDNAT--to-destination192 .168.1.103:443
! R+ B7 B& O/ n2 x
3 Z' V$ w0 s& i, p3 K, j3 g12. 允许外部主机ping内部主机iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
/ I  y8 G5 }' P; s1 t  g# ?: A: N- \
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT& S4 ~3 k8 ]; t$ f! r  u* H
$ t9 i- O; D* o
13. 允许内部主机ping外部主机iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT, U% y! Z6 P/ T( U% l

2 |1 u+ t  K0 X& \+ |& T7 ?8 hiptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
* s) n5 H* D, m" Y9 g8 o5 O+ \" R9 b% a- Q
14. 允许回环访问5 n4 S# N3 G$ I* Z( Z2 X

0 b. v, Q8 W, [% M6 W9 j例:在服务器上允许127.0.0.1回环访问。
- F& e2 D  ~& `+ G( O. h+ p0 Z" {6 `/ P# H; P2 h
iptables-A INPUT -i lo -j ACCEPT4 y! {, J: o9 v- l

' N. ^5 y; I5 W3 Z+ Biptables -A OUTPUT -o lo -j ACCEPT+ o* g5 f9 q1 K
5 W2 c6 y/ j( D' r/ o  i# X( t+ \
15. 允许内部网络域外部网络的通信
9 p4 D5 V( O3 f# J4 t% V$ {
$ b# j( L+ r0 _1 x防火墙服务器上的其中一个网卡连接到外部,另一个网卡连接到内部服务器,使用以下规则允许内部网络与外部网络的通信。此例中,eth1连接到外部网络(互联网),eth0连接到内部网络(例如:192.168.1.x)。- G" C, k+ G" ~$ r3 W0 e7 N- p
$ ]* Q1 b4 u6 t. {+ g  W1 _1 V0 l5 H
iptables-A FORWARD -i eth0 -o eth1 -j ACCEPT8 |, d8 P9 c- y3 V9 l8 X
7 l% C- u% c! @* w
16. 允许出站的DNS连接iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT# V2 o$ p. E6 f$ Z' F+ w+ y
7 c/ p0 K: U6 `
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT
: n, b8 ?3 i. v  R: M
0 m5 R7 t% u: V" k* x5 i17. 允许NIS连接
( h! y2 i4 q! d) f- r4 u# a2 X2 O1 i( X7 _  J
如果你使用NIS管理用户帐户,你需要允许NIS连接。如果你不允许NIS相关的ypbind连接请求,即使SSH连接请求已被允许,用户仍然无法登录。NIS的端口是动态的,先使用命令rpcinfo –p来知道端口号,此例中为853和850端口。: |+ ~3 W  v  V) t( B
" O6 R% g+ B+ J+ O$ M0 Z
rpcinfo-p | grep ypbind) ~  ?, X) A. ^4 N' ~0 S% _& |+ {
1 F$ j, Y" m( ~+ M& T
例:允许来自111端口以及ypbind使用端口的连接请求
8 ?/ n2 p# s) [$ q( K
+ ]3 \' n; P& i. k0 Q$ J- miptables -A INPUT -p tcp --dport 111 -j ACCEPT2 F4 x; m$ D9 o
4 }; j9 g8 X$ o4 ]* x
iptables -A INPUT -p udp --dport 111 -j ACCEPT
8 u/ L) V% J$ q9 O3 t; N
" s3 Z, g! g$ a" l" b  U; e9 qiptables -A INPUT -p tcp --dport 853 -j ACCEPT
! p2 K0 F( i" {3 b  C3 `" e! Z' r2 ^/ H- g( M  n# d6 c( K, ?
iptables -A INPUT -p udp --dport 853 -j ACCEPT* V9 v# s. v. R2 w' M$ V0 K1 N

& i6 `5 C0 b2 _- h) h! giptables -A INPUT -p tcp --dport 850 -j ACCEPT' f3 P, k% Q. W$ g/ D) e5 M9 Z5 q
7 g7 w% U! L6 P2 p# V- G
iptables -A INPUT -p udp --dport 850 -j ACCEPT3 R( ]; @+ E4 N% W

. w$ H" R+ S3 k- Z1 w2 p注:当你重启ypbind之后端口将不同,上述命令将无效。有两种解决方案:1)使用你NIS的静态IP 2)编写shell脚本通过“rpcinfo - p”命令自动获取动态端口号,并在上述iptables规则中使用。. }; R7 g% p5 ~3 t3 h
. d6 k* M' S8 R% E5 j! g: k: x1 I
18. 允许来自指定网络的rsync连接请求
  m; B+ C5 _% ?$ X- l+ L) ~( {" R& g- j; Y2 Q& t3 |
例:允许来自网络192.168.101.0/24的rsync连接请求9 W0 X8 B) w* x$ c- _( I
1 M+ y/ r1 o" K. B
iptables -A INPUT -i eth 0-p tcp - s192.168. 101.0/ 24--dport 873- mstate-- stateNEW,ESTABLISHED -j ACCEPT
1 x7 J- O" E3 Z( z2 P: f/ J+ q' Z* w% ]+ f) ~2 ]3 ?: e
iptables -A OUTPUT -o eth 0-p tcp --sport 873- mstate-- stateESTABLISHED -j ACCEPT( d, m1 s6 v: y8 M

# j+ `% D/ `6 H. T" e  R: m19. 允许来自指定网络的MySQL连接请求" H2 b! z" n7 x" A$ F, _2 l

- t4 Z$ e, W' u1 q很多情况下,MySQL数据库与web服务跑在同一台服务器上。有时候我们仅希望DBA和开发人员从内部网络(192.168.100.0/24)直接登录数据库,可尝试以下命令:
8 q( l  J" ^8 ]- o) i4 {+ e  ]5 A+ O7 c3 V& V6 |4 d1 {8 L) x2 {
iptables -A INPUT -i eth 0-p tcp - s192.168. 100.0/ 24--dport 3306- mstate-- stateNEW,ESTABLISHED -j ACCEPT
8 x; N8 I( [: \7 s' r  W9 d/ Y( @) W$ t& h
iptables -A OUTPUT -o eth 0-p tcp --sport 3306- mstate-- stateESTABLISHED -j ACCEPT' I. S4 b9 @9 ?, M. r6 S' H4 }

# Q% m/ R5 ]& d- |( N20. 允许Sendmail, Postfix邮件服务3 j+ s" d8 p% U4 e- e$ L) ]
) F# a) P$ n. C& c% m+ K
Sendmail和postfix都使用了25端口,因此我们只需要允许来自25端口的连接请求即可。# ^; K  A+ k( ]" i; K$ _- o

' X/ U9 }3 c( q& t! [. }1 q/ ]iptables -A INPUT -i eth 0-p tcp --dport 25- mstate-- stateNEW,ESTABLISHED -j ACCEPT
, v' W% k5 A2 J6 B1 A' ~$ e- f; _. p/ ]' {
iptables -A OUTPUT -o eth 0-p tcp --sport 25- mstate-- stateESTABLISHED -j ACCEPT9 n$ m7 G- r# K; v2 b
3 m4 _6 O. P% e, {  ~/ }! x7 f
21. 允许IMAP和IMAPS5 @* _# V- v& u- k7 {

9 w; z& `" T- j$ z, y' L例:允许IMAP/IMAP2流量,端口为143/ n0 O/ c- W0 K3 u, S

+ Q/ {1 x! `$ V& e$ W+ Eiptables -A INPUT -i eth 0-p tcp --dport 143- mstate-- stateNEW,ESTABLISHED -j ACCEPT
4 j# E' u0 `6 v0 ]: \' S& }
: o. n% O" B- ]iptables -A OUTPUT -o eth 0-p tcp --sport 143- mstate-- stateESTABLISHED -j ACCEPT# I6 N3 c5 `5 {+ b2 v1 Q2 p# e

, M$ w+ l6 T+ Z例:允许IMAPS流量,端口为993
' s9 x( E/ S* p" k2 N, X
& L. p- P4 C( _- yiptables -A INPUT -i eth 0-p tcp --dport 993- mstate-- stateNEW,ESTABLISHED -j ACCEPT
% s) s& P4 v6 z$ ?$ ~' F
8 g1 W% \4 [* B* i! Uiptables -A OUTPUT -o eth 0-p tcp --sport 993- mstate-- stateESTABLISHED -j ACCEPT  A. e3 U5 S9 L0 J) u

% A# I, u- ^. j3 X9 C: R" _7 R22. 允许POP3和POP3S' @" U0 }* C2 B% x8 L

2 F% }/ D* v3 X6 R! y" A$ X例:允许POP3访问! s- U4 a0 c( D' ~! Z
( i! o% P8 v# {+ N) q# R7 V
iptables -A INPUT -i eth 0-p tcp --dport 110- mstate-- stateNEW,ESTABLISHED -j ACCEPT. Y( a6 {  L1 @# a  |8 o. J

7 e+ e2 {4 G4 s' Niptables -A OUTPUT -o eth 0-p tcp --sport 110- mstate-- stateESTABLISHED -j ACCEPT4 D5 [- `/ c9 W2 ]  c4 M
4 o4 ]5 `1 a/ ?# J1 Y
例:允许POP3S访问0 @3 v9 S# k; R) G* G

0 K, Y) I/ b% x* L1 |: l1 tiptables -A INPUT -i eth 0-p tcp --dport 995- mstate-- stateNEW,ESTABLISHED -j ACCEPT
% B: H$ v+ k" ]: Y/ s$ j7 h1 S" [. L5 a: l3 ]2 p2 m4 V* M
iptables -A OUTPUT -o eth 0-p tcp --sport 995- mstate-- stateESTABLISHED -j ACCEPT
& {1 \. V1 W* ^, V! D1 a1 W' R1 y/ ?6 O7 t" w% n
23. 防止DoS攻击iptables -A INPUT -p tcp --dport 80 -m limit-- limit25/minute -- limit-burst 100 -j ACCEPT9 C" G7 B# a( `7 y+ N( t
6 L  M9 S% D6 K, d( N; E
上述例子中:' `) ?# k7 ]1 m* H! D

4 v9 {/ d3 F# I- s( _-m limit: 启用limit扩展- i6 L* U& P. u% R0 E* s

) @8 t/ a# D& P# f, l+ P+ E–limit 25/minute: 允许最多每分钟25个连接(根据需求更改)。
' _& L, x+ o% y5 }1 c
' R1 \. D. t5 q: K  J8 Z( H–limit-burst 100: 只有当连接达到limit-burst水平(此例为100)时才启用上述limit/minute限制。$ K5 N7 v' A' q6 ^) {: m2 O; J' A; C
/ k/ R3 t0 i8 E; H& t; ~+ U
24. 端口转发6 I/ |$ l" j( |7 `
例:将来自422端口的流量全部转到22端口。' w" v" l. ?9 o1 m
0 L8 j  @5 T2 }- ~
这意味着我们既能通过422端口又能通过22端口进行ssh连接。启用DNAT转发。2 e) E7 C, Q; L3 a  d- e8 H* r! X

, F. z2 S7 ]1 S& n% Liptables-tnat-APREROUTING-ptcp-d192 .168.102.37--dport422 -jDNAT--to192 .168.102.37:22
2 T8 R- e7 \3 Y( B
: @' ]% G. q. c, @. Y- N2 `除此之外,还需要允许连接到422端口的请求! l, f8 f7 r# ]# p6 u/ c1 ]. @! ]8 g$ R/ a
8 b+ z; v; v! T) m( @- x$ D
iptables -A INPUT -i eth 0-p tcp --dport 422- mstate-- stateNEW,ESTABLISHED -j ACCEPT
. T" P  j6 x! ]# x# X/ e+ L1 [' l7 v2 F  @% u2 H4 h+ b
iptables -A OUTPUT -o eth 0-p tcp --sport 422- mstate-- stateESTABLISHED -j ACCEPT! j9 m* V7 e& g9 w1 a/ T5 P6 C

& j6 B4 d6 z7 G7 u" i25. 记录丢弃的数据表
' e7 [: ^9 u1 ^0 t8 @- J" D; h+ o9 r7 w- W
5 h8 G0 s9 j# y, D第一步:新建名为LOGGING的链
+ a7 p' P# x* @/ G
) P! h2 G* I! Z% i6 x1 D$ j; Ciptables-N LOGGING8 D( ]; k: X# O( `
% {9 {( e; _6 o
第二步:将所有来自INPUT链中的数据包跳转到LOGGING链中  ~! P6 C* R4 |; A! P% Z1 e) s
* j* c6 d; n" o5 }9 l6 N# v
iptables-A INPUT -j LOGGING) u3 V; V: W; ^

( |6 O% o4 b- Y) |2 \第三步:为这些包自定义个前缀,命名为”IPTables Packet Dropped”% `" b/ a: |- N* {" E: P: n) U! n
: X: t% k7 ^# y
iptables -A LOGGING -m limit-- limit2/min -j LOG -- log-prefix "IPTables Packet Dropped: "-- log-level 7
- x/ d* M& B3 ?0 |+ P- X$ |
3 u' ?* M9 n. h第四步:丢弃这些数据包
2 h3 [3 D# d$ g6 \: Q9 p# K& s, c1 G. e( d% g' U) H8 V) `: M; @" q
iptables-A LOGGING -j DROP

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-7-3 08:34:52 | 显示全部楼层
使用packstack安装完成后的openstack,再新加计算节点的时候,总是提示连接失败。
& w  {' d/ B* u  ^; G6 v* Z检查了半天是因为iptable的原因,因为自己安装的脚本在给rabbitmq加的rule如下,只有通过192.168.12.22这个节点才可以访问它,所有新加的计算节点总是连接不大rabbitmq。1 ~- g6 h' T; w- C5 M: H6 ?5 @
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 5671,5672& s& V, l# Y9 a# O" J5 H7 x- n
5 {$ ?% r9 x0 N  q% w, ^) n+ X) u
why controller drop my compute node packet, check below iptable rule:
; c" R7 U2 D2 g% g6 r[root@controller log(keystone_admin)]# iptables -nL
2 M  w+ P' Z9 \Chain INPUT (policy ACCEPT)$ }) H5 h1 g* `( y
target     prot opt source               destination" S% l0 n7 {- F6 b2 M. m1 O
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:53$ l) b. o, w1 u* k2 H( H
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:53# c6 R. J: c2 v& O3 `3 B
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:67
, U" s  ?* M4 T9 R+ |: BACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:67/ Q3 p. J; k8 m2 c$ k: r7 k
# only allow 192.168.12.22 packet to connect to rabbitmq! w% D. ]* |5 q7 g8 X9 j
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 5671,5672 /* 001 amqp incoming amqp_192.168.12.22 */
" N0 P8 B2 d' Z9 ]ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8042 /* 001 aodh-api incoming aodh_api */
% z' K" A0 M% J2 NACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8777 /* 001 ceilometer-api incoming ceilometer_api */% i: d2 R  v8 c) J" @
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 3260 /* 001 cinder incoming cinder_192.168.12.22 */( ?3 ]1 }; v' @0 q
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8776 /* 001 cinder-api incoming cinder_api */
& b0 n8 E" l' Z7 E, }+ uACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 9292 /* 001 glance incoming glance_api */
# \* k- W* t9 Q0 M) vACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8041 /* 001 gnocchi-api incoming gnocchi_api */( A3 L" C$ ?5 H2 \; B0 X
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80 /* 001 horizon 80 incoming */6 ~8 @6 E, B  j+ p# _
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 5000 /* 001 keystone incoming keystone */# s$ d% \7 ^- C0 [9 P) ^
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 3306 /* 001 mariadb incoming mariadb_192.168.12.22 */
+ C9 t+ ~# ~; DACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 9696 /* 001 neutron server incoming neutron_server_192.168.12.22 */
* @( R* |  \: `. a) aACCEPT     udp  --  192.168.12.22        0.0.0.0/0            multiport dports 6081 /* 001 neutron tunnel port incoming neutron_tunnel_192.168.12.22_192.168.12.22 */- Y0 F% ^( L& _: J  [
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8773,8774,8775,8778 /* 001 nova api incoming nova_api */+ Q6 Q9 U3 @2 {% t. V1 z
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 5900:5999 /* 001 nova compute incoming nova_compute */
8 K4 P. H! S: \. U( U. f, `ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 16509,49152:49215 /* 001 nova qemu migration incoming nova_qemu_migration_192.168.12.22_192.168.12.22 */7 v* R6 x9 D. |1 i- Q! d
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 6080 /* 001 novncproxy incoming */
6 \- w, N' Z8 dACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 6641 /* 001 ovn northd incoming ovn_northd_192.168.12.22 */
: ?/ x+ K# \: I5 k# |9 }% r% `- wACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 6642 /* 001 ovn southd incoming ovn_southd_192.168.12.22 */1 O/ |3 @* R4 a( x. ^
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 6379 /* 001 redis service incoming redis service from 192.168.12.22 */
- I3 H" h9 `; }ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8080 /* 001 swift proxy incoming swift_proxy */; p$ ?( J; X! Z' k% I" W
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 6000,6001,6002,873 /* 001 swift storage and rsync incoming swift_storage_and_rsync_192.168.12.22 */
1 S) Y! W' c& {; QACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
* p1 f) W" ?+ \ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
  _; G' ~+ e4 \ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
, w# g$ M) j# Q; dACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22# G8 z; Y5 z6 [) G5 B9 M2 x) N
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
  y+ `$ h1 U& M1 M3 d  J$ s
& m9 ]& K4 |2 _' |  F  m$ `, s
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:03 , Processed in 0.017751 second(s), 26 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表