易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 649|回复: 2
收起左侧

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

[复制链接]
发表于 2022-7-3 08:30:06 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 5 金钱 才能浏览
 楼主| 发表于 2022-7-3 08:31:37 | 显示全部楼层
示例 1. 删除已有规则% _7 n' a4 ~; X. n+ z1 H+ s2 \0 }' h
在开始创建iptables规则之前,你也许需要删除已有规则。命令如下:/ J9 g0 Q0 O9 c' R5 E( m
/ _& G" @6 i% @. T4 G
iptables -F
# |% e* n& |+ o* o7 z( j. D% d/ W7 s* W* o5 m( f1 r
( or)4 ^+ |. a' y% g) A7 Z  O! x
7 z1 w: O8 K9 c7 y7 k  `- A
iptables – flush
0 f, F5 Z, i) B7 z" V
0 B) J! ?5 m0 N2 v& p2.设置链的默认策略: ?, g( O7 W, }, ]+ m% D2 I, _/ S
) R1 C( t2 S, b6 u) Z7 F3 D- `9 B
链的默认政策设置为”ACCEPT”(接受),若要将INPUT,FORWARD,OUTPUT链设置成”DROP”(拒绝),命令如下:
, n- j# u% C9 R6 v, G0 E" ~- y( c& j* |2 a. R. X! P. L! c
iptables -P INPUT DROP
2 c& X# ?+ e+ I: s/ Q& e9 T% u2 n" C' k- Q6 ]
iptables -P FORWARD DROP
$ n# ]! r# A& S, m: r# A
8 j: v/ Z* L- k% x: r" viptables -P OUTPUTDROP
$ U+ |$ j" n/ J) r$ E" f( H
, w5 f/ V- A9 n7 V& }, \当INPUT链和OUTPUT链都设置成DROP时,对于每一个防火墙规则,我们都应该定义两个规则。例如:一个传入另一个传出。在下面所有的例子中,由于我们已将DROP设置成INPUT链和OUTPUT链的默认策略,每种情况我们都将制定两条规则。当然,如果你相信你的内部用户,则可以省略上面的最后一行。例如:默认不丢弃所有出站的数据包。在这种情况下,对于每一个防火墙规则要求,你只需要制定一个规则——只对进站的数据包制定规则。
" U% _  j' D4 L  I7 l# [5 h. A$ q/ @. P- I/ E: ~% K
3. 阻止指定IP地址
: U! p! P5 {# V! Z& g/ L% B. K2 v6 e7 a* d( D$ b- T! R1 o- D. Y
例:丢弃来自IP地址x.x.x.x的包
- }9 h$ J* I9 _+ U5 {, u' j6 F8 G  G6 j$ J8 ^4 I2 q$ P+ F4 H
BLOCK_THIS_IP= "x.x.x.x"
/ C# {! x5 c' k3 d. k6 `* \5 X/ ~7 t& h% m& d0 {" X6 ]
iptables -A INPUT -s "$BLOCK_THIS_IP"-j DROP. D4 T2 u6 F& R& m

6 q$ y" W2 S! X! y' s$ g: L9 `注:当你在log里发现来自某ip地址的异常记录,可以通过此命令暂时阻止该地址的访问以做更深入分析/ x$ K. C2 j) I3 X0 O( F

& g" v' j+ D, D- \1 v+ S! {8 H例:阻止来自IP地址x.x.x.x eth0 tcp的包
) M! t  E- K/ H! t! e
% X% c7 K. d, a9 a3 p) u' M$ \iptables-A INPUT -i eth0 -s "$BLOCK_THIS_IP"-j DROP1 r( X/ s, x0 Z  G

$ b# s. P/ Y* O, S/ \/ Z& uiptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP"-j DROP$ e4 \8 D  E/ c

3 F3 w3 I8 j% Q- ?4. 允许所有SSH的连接请求
0 h9 P0 J6 Q4 }' a, Y" _% X) r# j7 K7 J6 [  {1 z8 _9 |7 U3 q3 u5 ], L
例:允许所有来自外部的SSH连接请求,即只允许进入eth0接口,并且目标端口为22的数据包/ q" k# [9 x! ~" \% x

4 g$ n6 K- ]$ t& v" ?( Jiptables -A INPUT -i eth 0-p tcp --dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT
  I- D! q* ~, d: i# W: P8 m# J6 y& e: j- g" k: p1 R% q
iptables -A OUTPUT -o eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT
5 ~0 V# V. ^- H0 x8 z. u% g2 L$ ]9 x$ D
5. 仅允许来自指定网络的SSH连接请求
: u8 g( y# G4 F2 B5 y/ y/ D# e- r% N7 N! }0 Z
例:仅允许来自于192.168.100.0/24域的用户的ssh连接请求* a' @# m; W" Q- |, \  Z: s
* O4 r/ ~1 X% k4 ^1 z
iptables -A INPUT -i eth 0-p tcp - s192.168. 100.0/ 24--dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT
* Y, i3 ~# P* i8 j) _. Z/ L& ?& |8 y2 A* E4 A6 |9 _1 q+ A( U5 K
iptables -A OUTPUT -o eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT
0 }( @4 O9 z/ E4 E0 c9 _8 }5 X7 d$ M6 A6 a1 c# e
6.允许http和https的连接请求
1 s0 c9 b( r9 W9 N! y! l, S* _! c  `% z
例:允许所有来自web - http的连接请求! _" o' L! p2 G' Q+ {6 o* E, Y

) i2 V7 O: {, ?, h) J5 l3 Aiptables -A INPUT -i eth 0-p tcp --dport 80- mstate-- stateNEW,ESTABLISHED -j ACCEPT" A0 `, l$ m6 ^( R
- c0 g' ^, Z7 X  _' O2 A, {" M3 u9 ?
iptables -A OUTPUT -o eth 0-p tcp --sport 80- mstate-- stateESTABLISHED -j ACCEPT
$ [  e2 |8 N2 s/ t4 f" ]& T& i; Q5 e9 ~2 |
例:允许所有来自web - https的连接请求: ]6 ~% a" c, z: q  ?
* ]9 M* y. u2 d" Y
iptables -A INPUT -i eth 0-p tcp --dport 443- mstate-- stateNEW,ESTABLISHED -j ACCEPT
1 Y& F3 v- z! J1 k. k  D( d: B
- @3 H( O) }% F. Q, l0 viptables -A OUTPUT -o eth 0-p tcp --sport 443- mstate-- stateESTABLISHED -j ACCEPT
9 h6 n9 Y! p9 u3 h8 y; t2 D+ j! P9 y& K/ w- g9 _) Q$ d* d- }6 V
7. 使用multiport 将多个规则结合在一起
# Q4 G/ b/ j! x2 I4 _9 R1 J1 i- N
允许多个端口从外界连入,除了为每个端口都写一条独立的规则外,我们可以用multiport将其组合成一条规则。如下所示:4 Z- W5 `  K6 L% t$ b) U) Q

; S  p+ Y# d0 q' e( B% n! t例:允许所有ssh,http,https的流量访问
  @) d- o" q# t4 P% V  z
; V" q7 @' ]) O. w) F4 Eiptables -A INPUT -i eth 0-p tcp - mmultiport --dports 22, 80, 443- mstate-- stateNEW,ESTABLISHED -j ACCEPT$ n0 i6 h% r8 I/ m- a* S1 h

' e1 J% x& L4 ]6 A0 ^! ^iptables -A OUTPUT -o eth 0-p tcp - mmultiport --sports 22, 80, 443- mstate-- stateESTABLISHED -j ACCEPT0 }- C' p; c% |6 _# J$ q
+ z3 o2 v* m7 j
8. 允许从本地发起的SSH请求iptables -A OUTPUT -o eth 0-p tcp --dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT. b- e$ s' z* x" g( Z1 |

, G( m1 X. D* y- P/ h) l: }iptables -A INPUT -i eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT
( R- o+ c2 D6 p# Z8 v+ U5 r. F+ P% J* [5 g3 U6 e+ `
请注意,这与允许ssh连入的规则略有不同。本例在OUTPUT链上,我们允许NEW和ESTABLISHED状态。在INPUT链上,我们只允许ESTABLISHED状态。ssh连入的规则与之相反。
2 ?1 T) V! f9 D2 A0 p
6 ^# a- q. y9 R& Y( }9. 仅允许从本地发起到一个指定的网络域的SSH请求
9 v1 v- {7 @. m' b- `# k% g5 {6 h7 J( P( U1 y
例:仅允许从内部连接到网域192.168.100.0/24% {8 z8 E" a2 I
: U) b! m: ]; X8 T1 E
iptables -A OUTPUT -o eth 0-p tcp -d 192.168. 100.0/ 24--dport 22- mstate-- stateNEW,ESTABLISHED -j ACCEPT) H7 @( e; a& l
: O) W1 P  p1 Y9 A
iptables -A INPUT -i eth 0-p tcp --sport 22- mstate-- stateESTABLISHED -j ACCEPT% L9 a3 O! V0 g1 L! P, u; `/ A! O
! R" _- |1 L2 e! C
10. 允许从本地发起的HTTPS连接请求. }7 j) J3 p8 b( q

' n: Z& n1 \$ |; R下面的规则允许输出安全的网络流量。如果你想允许用户访问互联网,这是非常有必要的。在服务器上,这些规则能让你使用wget从外部下载一些文件2 i8 }% C+ {) d7 Q1 X
0 N2 y( \% M  ]7 R2 b
iptables -A OUTPUT -o eth 0-p tcp --dport 443- mstate-- stateNEW,ESTABLISHED -j ACCEPT% v# q) R' h2 e) y& J) Z' Q

( ]; i0 p* j$ C: ?0 O9 l% |; d+ Kiptables -A INPUT -i eth 0-p tcp --sport 443- mstate-- stateESTABLISHED -j ACCEPT
) m- k. M2 }% e( r# k' F0 i9 s! K: U/ p$ I
注:对于HTTP web流量的外联请求,只需要将上述命令中的端口从443改成80即可。* F3 {: u2 X; @2 a
! w" m$ H2 }: X& f  R: ^, X# O
11. 负载平衡传入的网络流量
5 k5 M0 a( ^; D! d5 ~5 {; M
, y0 G- `( e* y( E( i6 p使用iptables可以实现传入web流量的负载均衡,我们可以传入web流量负载平衡使用iptables防火墙规则。
3 e; T9 y8 `: O' d+ D4 s, d+ P5 X3 @% c7 o
例:使用iptables nth将HTTPS流量负载平衡至三个不同的ip地址。$ H  W! E% G2 _7 t: {
" v7 E2 _% m/ F4 S& r" j& a  ^" \" ]
iptables-APREROUTING-ieth0-ptcp--dport443 -mstate--stateNEW-mnth--counter0 --every3 --packet0 -jDNAT--to-destination192 .168.1.101:443% \3 m/ ~! N, y# _% P, l, i+ J

, ~: k8 @% g! U. M" }7 miptables-APREROUTING-ieth0-ptcp--dport443 -mstate--stateNEW-mnth--counter0 --every3 --packet1 -jDNAT--to-destination192 .168.1.102:443
& J) v, w. Q0 f# X3 h5 r0 O) s9 i) F5 ?
iptables-APREROUTING-ieth0-ptcp--dport443 -mstate--stateNEW-mnth--counter0 --every3 --packet2 -jDNAT--to-destination192 .168.1.103:443. A7 S8 l7 q8 v: q# [, D+ R! A5 E
, ^- }  M/ J& ^4 F) Q; F1 P+ m
12. 允许外部主机ping内部主机iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT/ q3 a7 n* T+ d# M4 W; J

7 s; C" `0 k7 Z3 J' A8 n( q( Iiptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT8 Z" B4 G2 {- @, X2 y/ B& B2 M( Z
. z& e; W8 u' n; n0 Z
13. 允许内部主机ping外部主机iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT& T8 l9 X+ D! e' r2 M+ Y. o

5 ]4 Z$ Z. o8 b* g: niptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
7 A9 u, T  O$ d8 {% e7 z+ Y2 @3 @- P& B( b/ s7 F' [) b+ e; ~& h
14. 允许回环访问
9 p$ y* w# V. [4 o! x5 E" o" J* \/ [% W
例:在服务器上允许127.0.0.1回环访问。2 K2 V  i- _/ e: f- u# `
& L9 Q0 L% j  T) I$ W* _
iptables-A INPUT -i lo -j ACCEPT' t+ @, ]6 b8 R4 Q. E7 m: F( b

& u: ~+ |1 ]& ?+ fiptables -A OUTPUT -o lo -j ACCEPT; ]4 q: N  ^4 D4 x/ o( ]
- L' c/ _" J1 Z; N3 \
15. 允许内部网络域外部网络的通信  ~/ s* M; c" R( ?0 x1 t

9 r  S5 L( }  B8 x- S8 U$ V防火墙服务器上的其中一个网卡连接到外部,另一个网卡连接到内部服务器,使用以下规则允许内部网络与外部网络的通信。此例中,eth1连接到外部网络(互联网),eth0连接到内部网络(例如:192.168.1.x)。) A! P0 H6 V: P. j

2 u$ d/ }% d, N! j4 Z4 U( xiptables-A FORWARD -i eth0 -o eth1 -j ACCEPT6 p' p* a* h- s; N- O, q; ^
1 k. D2 |% L3 \2 M$ w1 q6 B, f
16. 允许出站的DNS连接iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
" p2 M0 |' h/ a3 _' J
' t. n* v3 x- `6 |% e" uiptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT
* x" `1 C' q1 D9 }4 ~6 }/ c/ w7 h+ f' n
17. 允许NIS连接( d- g" P9 z' K! R7 A* b+ A
* a# m  A1 K/ n: Y5 o/ R) x* d0 V" y; y
如果你使用NIS管理用户帐户,你需要允许NIS连接。如果你不允许NIS相关的ypbind连接请求,即使SSH连接请求已被允许,用户仍然无法登录。NIS的端口是动态的,先使用命令rpcinfo –p来知道端口号,此例中为853和850端口。, F- m) o( t0 R. D3 {. X" N* [+ W

! J+ L5 Z& ^$ h6 w8 h5 x9 T" Wrpcinfo-p | grep ypbind  x! Y6 e6 j' R2 F# N; ?6 h* v
2 u8 |. `1 W$ L% V
例:允许来自111端口以及ypbind使用端口的连接请求, S4 o( u6 g: P4 i+ b- d
2 v: L$ H3 E- W2 G4 E& M
iptables -A INPUT -p tcp --dport 111 -j ACCEPT  x1 ?0 i7 C2 F" f$ C
+ [! R: o0 S2 `7 I
iptables -A INPUT -p udp --dport 111 -j ACCEPT" k$ c0 l8 g- o" v3 [

3 P$ e: |5 N- l8 T( ^iptables -A INPUT -p tcp --dport 853 -j ACCEPT5 N8 H, S8 V( Y0 G7 j2 O! A6 P

. l1 ~0 T. t3 kiptables -A INPUT -p udp --dport 853 -j ACCEPT1 H0 q& Y8 R6 F. ?- z/ a4 U5 O+ o$ e
5 a5 \$ F# t# w1 a6 q! Z5 q3 |
iptables -A INPUT -p tcp --dport 850 -j ACCEPT
/ B! Z- D1 t$ D" r* m8 o7 _$ N
2 c3 H$ \- X1 `* X. uiptables -A INPUT -p udp --dport 850 -j ACCEPT" T# b6 H" f: p0 t5 Q/ U

: b$ {" C  `/ L( l* X注:当你重启ypbind之后端口将不同,上述命令将无效。有两种解决方案:1)使用你NIS的静态IP 2)编写shell脚本通过“rpcinfo - p”命令自动获取动态端口号,并在上述iptables规则中使用。* E; B5 h+ V/ U+ X9 B
( @' f4 N, l+ m7 V/ ~
18. 允许来自指定网络的rsync连接请求
  D" c, d7 _# I7 H% R& a) M& t9 u  x  o0 V
例:允许来自网络192.168.101.0/24的rsync连接请求
% d( K) s$ Z! ?$ R3 b0 i) \0 N  d( u! e  u( g
iptables -A INPUT -i eth 0-p tcp - s192.168. 101.0/ 24--dport 873- mstate-- stateNEW,ESTABLISHED -j ACCEPT
! y! q5 g+ `1 D3 z1 E
3 a8 R8 }. {+ m$ qiptables -A OUTPUT -o eth 0-p tcp --sport 873- mstate-- stateESTABLISHED -j ACCEPT
) ~+ D# O$ o2 n  E: V% d4 a. e% X0 \, F5 I" n
19. 允许来自指定网络的MySQL连接请求
- c# ~, P' D' `1 \  W7 d9 ~: t1 x5 `5 c
很多情况下,MySQL数据库与web服务跑在同一台服务器上。有时候我们仅希望DBA和开发人员从内部网络(192.168.100.0/24)直接登录数据库,可尝试以下命令:0 y1 J5 k7 k4 @" L
% P3 D; G$ [3 F4 U, C% F; H
iptables -A INPUT -i eth 0-p tcp - s192.168. 100.0/ 24--dport 3306- mstate-- stateNEW,ESTABLISHED -j ACCEPT5 v& r. C! e# C/ z

- k- S6 E1 O, m# S# X; P+ L& oiptables -A OUTPUT -o eth 0-p tcp --sport 3306- mstate-- stateESTABLISHED -j ACCEPT' Y2 j, j8 u: |* B5 ~* f) c

) L( [% i+ j3 d" A20. 允许Sendmail, Postfix邮件服务# V) ?$ U6 M  F# X: n
0 ^+ e# G1 f- }: K0 S: r  X+ B
Sendmail和postfix都使用了25端口,因此我们只需要允许来自25端口的连接请求即可。4 C5 J9 y2 y$ Y# G; }

4 ~, t# h- h' P! Diptables -A INPUT -i eth 0-p tcp --dport 25- mstate-- stateNEW,ESTABLISHED -j ACCEPT8 Z# w- ^4 m9 P! s$ r+ c& N' |
: ~) s0 I. r$ H8 V! I+ V
iptables -A OUTPUT -o eth 0-p tcp --sport 25- mstate-- stateESTABLISHED -j ACCEPT5 Y9 X+ C0 E, B

' ^, F7 Q. v$ V: I* ~21. 允许IMAP和IMAPS( G- v+ b( K7 S$ P( j1 R1 r

2 E- J. j. N8 [8 F1 f例:允许IMAP/IMAP2流量,端口为1432 U% C- q; G, D3 s( ^
. v0 r! g% U% o8 |5 \
iptables -A INPUT -i eth 0-p tcp --dport 143- mstate-- stateNEW,ESTABLISHED -j ACCEPT  H3 T3 F& K& o  w1 }

0 X( r; W% Z, `/ ^7 \iptables -A OUTPUT -o eth 0-p tcp --sport 143- mstate-- stateESTABLISHED -j ACCEPT+ Q1 a+ r- J: n- i! k

& J5 D* _! K7 ]) d- b例:允许IMAPS流量,端口为993
+ {  `6 ^' g+ {4 d% M5 u7 b0 X3 f3 R3 t8 C
iptables -A INPUT -i eth 0-p tcp --dport 993- mstate-- stateNEW,ESTABLISHED -j ACCEPT
5 e( U2 [. d1 M! H- K0 w* j. M5 ?+ |1 W0 R5 U6 V" x7 J
iptables -A OUTPUT -o eth 0-p tcp --sport 993- mstate-- stateESTABLISHED -j ACCEPT
. t& m6 U! R! Y" \7 q
7 \& T6 k0 \+ a- B  o22. 允许POP3和POP3S
" c* \3 \" D# B
3 B' {, _- g$ @( }( [& h/ e2 F5 @例:允许POP3访问
0 h2 N" s3 j; P
7 }4 x+ @! W: I2 G5 [iptables -A INPUT -i eth 0-p tcp --dport 110- mstate-- stateNEW,ESTABLISHED -j ACCEPT  B' _' H* z- Z. s8 E  P, x9 `
; {1 M7 u6 a# D' J
iptables -A OUTPUT -o eth 0-p tcp --sport 110- mstate-- stateESTABLISHED -j ACCEPT
6 u0 D. r9 z9 R! x! H8 {: o) ]/ x( M# u6 n! a3 S9 g+ X, t
例:允许POP3S访问
, G  n0 s- Z& E5 q
: M7 I0 i, X! O9 y2 P0 wiptables -A INPUT -i eth 0-p tcp --dport 995- mstate-- stateNEW,ESTABLISHED -j ACCEPT' R1 u7 x; F. r  U% s& p
6 X5 k$ A7 f) f. u! F$ F  Z9 ~
iptables -A OUTPUT -o eth 0-p tcp --sport 995- mstate-- stateESTABLISHED -j ACCEPT
1 K( L6 u- z1 t& r2 \0 d9 r$ ^$ |  y; G' X" y! \$ P3 W( \
23. 防止DoS攻击iptables -A INPUT -p tcp --dport 80 -m limit-- limit25/minute -- limit-burst 100 -j ACCEPT+ f$ w7 X) U. D: ^+ l* q
6 T; s/ I/ S) c+ j% {
上述例子中:2 J8 Y* G8 }/ A3 X

2 ^, g7 _& m/ j; n) w-m limit: 启用limit扩展, l& N) R/ ]% S8 P3 \

8 o" X" E) V, y( }# H9 K–limit 25/minute: 允许最多每分钟25个连接(根据需求更改)。( C9 w# T8 K% V" h
- w) E2 H7 v* c$ S( d
–limit-burst 100: 只有当连接达到limit-burst水平(此例为100)时才启用上述limit/minute限制。
  \$ u4 S. U9 ^% N: F* T$ H
$ M/ a- m) D  G7 V6 T, y24. 端口转发+ N- q0 @' v9 ]! J1 ]0 O: o; k0 B+ S1 B
例:将来自422端口的流量全部转到22端口。* A# s7 `' X9 ?- k

; \' |; A: Y! I- W) g+ E这意味着我们既能通过422端口又能通过22端口进行ssh连接。启用DNAT转发。: v( H" d  Q; g% f

& a6 b. Y& s2 p: N1 ?- m) b3 C: E. piptables-tnat-APREROUTING-ptcp-d192 .168.102.37--dport422 -jDNAT--to192 .168.102.37:228 b( a  J* K; r0 t* I8 o

, m' |0 k0 J0 I除此之外,还需要允许连接到422端口的请求
# J5 U; c# x) j: x# r! k& A2 F% K) _! `( g! W
iptables -A INPUT -i eth 0-p tcp --dport 422- mstate-- stateNEW,ESTABLISHED -j ACCEPT5 l* U& \0 T* _6 ?8 [- l1 W0 m

6 Y! |" b7 _/ B) i2 I& Aiptables -A OUTPUT -o eth 0-p tcp --sport 422- mstate-- stateESTABLISHED -j ACCEPT
2 M, D. B+ D( C& U! {+ L" V
0 g! D- F9 o# G& u: w) V( ?25. 记录丢弃的数据表
; v8 W0 Z- \3 X6 i, i: E+ A; m3 f% z2 C
第一步:新建名为LOGGING的链, q1 _' w% S2 V4 Y
4 b! t4 X, _& j4 E+ J
iptables-N LOGGING6 _- ^  M1 w5 P. N4 E* r( l& Z
- K3 L! \$ m0 {5 i1 P6 T. y
第二步:将所有来自INPUT链中的数据包跳转到LOGGING链中
6 M* C0 p  A+ B9 P, |" B1 j' C+ x/ h; y; ~, \4 C% ?
iptables-A INPUT -j LOGGING
) @1 @7 y- a) i0 l0 M* l/ i# V& V( _+ w+ `* H' k, h; W
第三步:为这些包自定义个前缀,命名为”IPTables Packet Dropped”
; V/ O* a# j6 ^1 ^( c' e
0 A! l% J3 B& r4 ]0 w8 X1 Diptables -A LOGGING -m limit-- limit2/min -j LOG -- log-prefix "IPTables Packet Dropped: "-- log-level 7
& @5 |- U8 |  S: o5 c: F
! W1 g' f5 u7 L# @4 `( j1 c0 C1 }第四步:丢弃这些数据包2 y$ B2 N/ y8 L: X
% ?+ Q, l0 \0 [0 J) D& ]% @0 t. i
iptables-A LOGGING -j DROP
 楼主| 发表于 2022-7-3 08:34:52 | 显示全部楼层
使用packstack安装完成后的openstack,再新加计算节点的时候,总是提示连接失败。5 M# r( v: _5 J& H2 A3 V  h
检查了半天是因为iptable的原因,因为自己安装的脚本在给rabbitmq加的rule如下,只有通过192.168.12.22这个节点才可以访问它,所有新加的计算节点总是连接不大rabbitmq。
7 g" b7 \" M3 b, S, b! TACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 5671,5672
7 C9 ~, H9 C; J( J: H7 }
- K  Q" G' z$ V4 o why controller drop my compute node packet, check below iptable rule:
3 j2 x; d$ G/ G5 D2 U( O% }[root@controller log(keystone_admin)]# iptables -nL
0 w( B$ E% S+ F$ a8 UChain INPUT (policy ACCEPT)
2 r; W! R5 o. `/ ftarget     prot opt source               destination
: O. }, z) r, k+ L# M' C/ SACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:53
# P0 ]# K- j$ a9 a4 u/ l8 hACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:536 V. H: r. P% D; l7 R
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:67
5 g7 w) l; f7 \; iACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:67
7 d) ?, }5 U) p0 o# only allow 192.168.12.22 packet to connect to rabbitmq
3 h1 @2 l( g2 Y8 ]ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 5671,5672 /* 001 amqp incoming amqp_192.168.12.22 */
/ |; g1 \" N0 NACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8042 /* 001 aodh-api incoming aodh_api */' C. b5 w/ T9 \& B
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8777 /* 001 ceilometer-api incoming ceilometer_api */
5 M: }  d# f/ V6 F( W$ A$ d* _ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 3260 /* 001 cinder incoming cinder_192.168.12.22 */9 }) k( r: z8 K! X6 C  S( D# ]
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8776 /* 001 cinder-api incoming cinder_api */
: ]' x& I) C1 y% mACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 9292 /* 001 glance incoming glance_api */
; R' O4 |9 y$ u9 H: P$ m& I8 }ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8041 /* 001 gnocchi-api incoming gnocchi_api */
. h$ S  W3 G2 LACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80 /* 001 horizon 80 incoming */! ?; k' ^. P& j6 Z2 f+ b) Z! i3 U
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 5000 /* 001 keystone incoming keystone */
4 m0 l( C) y: W4 A; [ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 3306 /* 001 mariadb incoming mariadb_192.168.12.22 */
2 z% U4 L  j) |  R& nACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 9696 /* 001 neutron server incoming neutron_server_192.168.12.22 */
. t5 g- c" u% y/ K7 ~$ I0 IACCEPT     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 */
1 y2 K+ ^5 L' M0 w3 k- @ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8773,8774,8775,8778 /* 001 nova api incoming nova_api */6 O8 u% O* ~# s; B7 n, l3 t; u7 N
ACCEPT     tcp  --  192.168.12.22        0.0.0.0/0            multiport dports 5900:5999 /* 001 nova compute incoming nova_compute */, g" P2 B: G6 s1 o
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 */
1 w8 {+ D  j, k' B" a6 S7 `ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 6080 /* 001 novncproxy incoming */' \5 l/ a' `( C
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 6641 /* 001 ovn northd incoming ovn_northd_192.168.12.22 */) P7 e( G3 T; y5 N( ]: l- ~
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 6642 /* 001 ovn southd incoming ovn_southd_192.168.12.22 */
. k. {7 R7 m- L) ?& x4 {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 */
# V$ z5 ~) ?- @- _/ ?, h. a* bACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 8080 /* 001 swift proxy incoming swift_proxy */
) p9 X6 A  W0 M6 q# @+ Q6 TACCEPT     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 */
: x, v2 c" g7 h( HACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
: v+ }. [) k! j4 ]! ]8 z& QACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
# T2 {0 ^# e. k" L7 vACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
% \' h: F2 X1 ?4 c" ~8 n! QACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22( D- G  z5 ]$ g
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
; n( J& O' P0 F3 c0 N+ [' a- H
- ^# G3 N0 F/ v. J) M. w
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 00:02 , Processed in 0.065087 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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