找回密码
 立即注册
搜索
查看: 187|回复: 0

Centos7 配置iptables NAT端口转发

[复制链接]

979

主题

90

回帖

5万

积分

管理员

积分
53052
发表于 2023-12-1 16:35:19 | 显示全部楼层 |阅读模式
打开端口转发的功能: O7 O3 Z- f, j

* i( V3 [7 D1 t# i+ F+ Z1 K1,首先开启IP转发功能,默认是关闭的。
, [9 q" S- c3 x0 ]; W- }
5 f% s: `3 `0 r& z8 C' g9 j. w* q; z) q临时修改:
7 A2 y( H2 Y, j! j! y, Y" g; t( g* j/ ~
* X8 `2 c3 f% r1
' J5 n9 Q* M6 q% ?$ c1 ]5 z[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward& t9 X: r! J7 e% ^' n) }
修改过后就马上生效,但如果系统重启后则又恢复为默认值0。
% N6 p& f3 ]6 J5 z. f% a( x6 o4 \# S0 w' e
永久修改:( Q9 s0 C1 `/ U

1 h& D# y2 \% _% X1
# |4 I9 |+ N4 T% F2
2 V% R, Z9 t* G- e3
9 q6 |& ~5 ?, h7 _6 ^1 H% X/ d2 S1 {9 t4
1 [$ _; S3 p8 `5
' b5 C' Y  G5 S  _vi /etc/sysctl.conf0 q# R/ N! P3 f# e! j4 Q

+ f. \3 r; ^* M2 u& l0 A$ X/ }& Y3 x/ J7 m# 找到下面的值并将0改成1,如果没有该配置,直接添加; l/ l4 `) \* c: }1 V5 s

& w" F  z, `7 B* U# N% wnet.ipv4.ip_forward = 1
" _6 e* W  z. G9 P5 r  _5 w  L, h# sysctl -p(使之立即生效)# j4 ~' Q; E: u$ w3 x% w9 H
$ j! `/ [7 [1 d5 S  S
默认值0是禁止ip转发,修改为1即开启ip转发功能。/ V  w# d+ v3 p1 I

/ s/ l  H% t. D3 w. b& } 8 M3 l  {0 j) X7 v% l/ `/ T" ^( f

! e9 C  ?; n, \, N! n端口转发
- L4 i! p, u8 n! G: G8 v7 v2 k, d' Z% a/ W; @7 B: J2 E
假设用户访问本机(10.1.1.5)的3306端口时我想让它转发到10.1.1.1:3306
6 W8 T9 E& S- ?0 R, T9 R" U; @! Z
1 D6 L* L, U8 l/ d3 T3 `1
) Q  g* l1 ]% X3 j- W+ J2
; f3 D) s& U. f( g, h: @7 x32 \- i5 s6 r. ]- H; W
48 z8 C# f' l$ _) k/ g% M' _
58 {6 w4 ]% u% j8 N& w
[root@mongo iptables]# cat iptables-open.sh9 a2 _: u. j$ A
#!/bin/bash: b6 ^# Y1 [, X5 F6 q6 R* I  i

- Q  p- u) e! f, b. Giptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 10.1.1.1:3306& J$ w. B  N0 ^1 D. Q
iptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3306 -j MASQUERADE
% S- T# D; d5 E  
( u3 Q' M) l- }3 i
$ ^1 R% E4 A8 s+ R: Y5 O查看规则2 o/ L& g9 _1 a8 E" o. N/ {. r
* ^& J3 Y  E; P+ X  `* k
查看当前iptables的nat表内的规则
8 i* T) i- h* G9 ^+ I& E
# W' \4 ^& c+ U, q6 K+ G' h1; m0 _3 {+ w7 p( l8 G. i5 p' i7 o2 M* _
iptables -t nat -nL --line, ~1 q& x$ s8 q8 f$ J
命令解释:
3 |* z; H9 g$ T; B/ r) ?$ n* U3 K2 C6 Y9 W5 q4 `
1
" P- c' h+ R+ B) |' C. t6 I2
! ~: s7 {8 m- b! H; }36 y$ _( c7 C& I0 s4 g0 |6 V
4
( a  z$ m7 X5 ~! }5% ^8 G' `# R4 @- d/ }
-t nat指定看nat表,不用-t默认为filter表
/ V# d' j$ e+ M4 _-L 列出表内所有规则,可以指定特定链, |; N# r& l; b# a( h
-n 使输出中的IP地址和端口以数值的形式显示
+ \0 C% u9 c0 v* S6 }-v 输出详细化
2 L# Y+ H9 Y5 J: [/ u/ \& H--line 显示出每条规则在相应链中的序号* L" \: h6 s9 e7 z
- E- N$ U2 ~+ S2 G( m

; s0 W& P% P, J) \; v & d! v0 ]/ ]! m5 q
+ g$ T* b% M! H2 K: r+ H
删除规则
$ p5 b+ u' z  }1 ?( E% O
) k  x: _) M5 w5 t1 Q4 Z如果要删除PREROUTING规则,命令为; I3 j4 I: v/ ?5 A( ?

/ J3 Q) C8 m, X# W; `2 Y1
- }% Y) X% W+ Biptables -t nat -D PREROUTING 1         # 1 代表前面的规则序号
, I# |) q4 _" j) P( l. F如果要删除POSTROUTING规则,命令为$ r0 A5 w+ H- h* R7 q+ g/ h$ V
3 Z% h& E. o( A4 g- `
1
  c, U! y. }0 _0 v2 liptables -t nat -D POSTROUTING 5        # 5 代表前面的规则序号/ g) R# @6 d+ e4 C7 s
命令解释$ s1 o( F% a" n+ Z3 P
4 g& K+ ~! ?- B* r8 S
1( `/ a* v% @) z7 c; }
2
0 [* b7 w1 f' t) p+ a3$ D/ Z& u% y6 C
4
- \6 W( j4 u  P2 F8 ]% A8 N7 ]5
; K2 p4 S6 @! Q6  ]" c8 \4 h: h' f" _# n$ d& f5 {5 ~
7
7 N. @! P8 F+ d1 ^' Y89 d: s0 \/ k( T" _2 m% s- Q
9# a1 v/ b7 u/ w; W9 k* @
10
% X* b. f2 N3 f2 S' M2 @11
5 p8 n, j2 |. f' u. f7 s& Q5 [& Y) ^12
' E: `( z( q0 D. V$ m% [13
+ B6 M& ^8 E# R2 M-t 指定配置表
- p/ Y5 v1 B" A5 p- k, }& `. r-A, ––append 将规则添加到链中(最后)。  n6 E8 M! e* M9 _
-I, ––insert 将规则添加到给定位置的链中。
  M: ~/ }7 M$ {. y-C, ––check 寻找符合链条要求的规则。( X" I) ~) d. W7 y* j
-D, ––delete 从链中删除指定的规则。
  q, J+ t; G( I+ d" ~) ^( W3 L-F, ––flush 删除对应表的所有规则,慎重使用。
3 ^  E4 d/ C% L/ }5 U) v-L, ––list 连锁显示所有规则。3 O' B- T7 a! Z5 Z" L6 u
-v, ––verbose 使用列表选项时显示更多信息。
9 O: k* w# U( d+ T-P, --policy 设置链的默认策略(policy)
& R" D& b9 P1 G/ k. I-N, --new 创建用户自定义链
% P) E+ o- A+ O  C- ^% J-X, --delete-chain 删除用户自定义链
1 f' M: ]6 L! E* j7 p  ?-E, --rename-chain 重命名用户自定义链5 c: h9 _3 E2 F5 R; B
-j target 决定符合条件的包到何处去,target模式很多
9 d/ v, o# a0 ]4 c% N
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2025-2-25 06:31 , Processed in 0.102829 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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