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

Centos7 配置iptables NAT端口转发

[复制链接]
发表于 2023-12-1 16:35:19 | 显示全部楼层 |阅读模式
打开端口转发的功能+ k/ r$ w8 c5 q

* y3 w# U7 L4 y! U- Y4 }1,首先开启IP转发功能,默认是关闭的。/ D; e  h; }$ [# n* |

* z9 r1 |, B* J/ ~4 ^9 _2 H7 |8 m3 Z临时修改:# t/ D$ g( ^6 r; N7 t
5 x$ w% G" w  \8 }8 R
17 K$ X5 s" X  v+ D) G' }8 C% r$ v
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
' B& ^  o% w( P% f修改过后就马上生效,但如果系统重启后则又恢复为默认值0。
* t; w4 W* S' \# O9 s6 u# Z3 B
# O2 a" C8 N: N: S2 H3 U. @) A永久修改:
5 o& H' F4 L; t' u6 T
, A  ]5 e1 K6 f5 \" u% p1
" h3 L) ]: g; {0 h) a2
. G2 U6 F) i! L6 _7 `$ }8 }7 r. l2 C3# E% u6 a6 K% ^4 q" I$ m) z, ]
4& ?4 b6 H+ a3 }. z2 `% r5 J6 |
5
1 r9 d, Z. a* Y( V% b$ y* ^( {' ]$ avi /etc/sysctl.conf; K' y8 s: n- x* n6 e
0 o$ {3 m5 c& ]  ]' x# d1 k" |
# 找到下面的值并将0改成1,如果没有该配置,直接添加
4 i: A- _- s7 e4 i0 o% m. L
  T6 B) f9 f1 v( f: k# b3 C$ B" hnet.ipv4.ip_forward = 1$ A7 G# Q" C$ y+ P9 v0 G' _
# sysctl -p(使之立即生效)" v; H$ [6 X- C4 b. e
2 |- e/ j) r/ e
默认值0是禁止ip转发,修改为1即开启ip转发功能。: d) ~. F8 o  x
/ U) J; T6 a3 f0 J
+ V0 N$ B! ^& K& x" h
5 W6 h; z& l# Q5 F! a
端口转发
6 w$ i/ a1 m" O* d/ a7 b
5 J; t2 f$ L7 D; i9 m& [假设用户访问本机(10.1.1.5)的3306端口时我想让它转发到10.1.1.1:3306
7 ^5 }# X2 S5 v" x
2 M. ]6 l. m6 d7 H' {4 L: U1& j. @8 `* o( c8 n7 s
2
; i) y0 e4 p* c3
5 r! j& d- U8 l! Z& H, A4
) b" ^3 X0 S/ O3 n/ [- O5
# D( v+ m  \6 b# S, E5 s* \3 Z[root@mongo iptables]# cat iptables-open.sh
- [# [  f) e2 t# ]: b* R#!/bin/bash
& ^$ B2 _3 a6 L* ?
3 F% X9 E) l, t* Y4 Y9 g( qiptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 10.1.1.1:33064 \  ^. ]( d* _6 `1 s' X$ S) h* T
iptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3306 -j MASQUERADE6 a0 B. J3 j9 y+ O
  & i! o7 I/ Z+ K
2 T9 |9 i( [9 b! e  [
查看规则9 z) `* U3 [$ @; O$ M6 B
. M0 }& J* P) W0 J2 ^
查看当前iptables的nat表内的规则
) e% z% S- v( F$ v# j( ~6 t* r5 e, E2 y1 K" y; t/ r& n4 I3 |
1
7 g- g% y3 p6 u& d8 E0 giptables -t nat -nL --line
6 l2 k0 B# b8 s3 F1 T  h& i1 k命令解释:5 \! ]4 w/ a6 V. L, D

/ X$ m; K9 h8 E# c- [- V1, E( A8 j( L4 v5 Y/ K  P6 B
2
4 \: R6 t1 |2 W) B% [# ^3! L, P$ b; x6 x1 _0 }2 F' r3 |
4; Y8 l+ S+ k8 M# ^1 u
5. y$ C  h% Q9 d7 E' Q
-t nat指定看nat表,不用-t默认为filter表
$ C+ c% r& P9 F! X-L 列出表内所有规则,可以指定特定链
* y4 s, ~2 h5 g-n 使输出中的IP地址和端口以数值的形式显示: u# e1 i7 H; |
-v 输出详细化
9 V1 Z- ^/ d: ^! q: L9 }--line 显示出每条规则在相应链中的序号
$ z. B1 K2 Q* ^4 i+ N. w
; `1 N7 c& K& R5 T' @! Q$ d* g: X' s- _7 N
0 h3 A* A0 f5 d1 |- i6 @

7 a! l% G# t& z5 m. [6 i. V! k 删除规则
/ v9 G; `# R2 l0 ]1 @
% c, D5 s: k6 d% T6 a如果要删除PREROUTING规则,命令为3 @! z8 ]: q$ l7 z" i
* r0 _! k7 L- l( C' z
1( Z8 s/ D7 P; h7 e
iptables -t nat -D PREROUTING 1         # 1 代表前面的规则序号* p* ^$ H: a0 z- [
如果要删除POSTROUTING规则,命令为' p8 T( n8 p" ^
0 t3 f' I5 f$ K# n2 L
12 _2 V# w" s) a7 q; g' O
iptables -t nat -D POSTROUTING 5        # 5 代表前面的规则序号$ a+ A4 v3 ?( d- M9 P4 J: B
命令解释
( _9 @* x, t, y0 o* K7 t
+ i' _% @* t  i; U+ R1( H7 Q3 a1 G/ G) U& k3 G# t: V
2& c  P  M: w( m$ K! P6 R1 C1 c5 N
3% y( I* F+ k/ S; G0 h; R
4: F& q0 p; w. N! W1 x  s+ g! w
52 x% [; {! E5 M0 X& Z* [/ S
6
4 P7 m8 w& d: M' y9 S1 n7( A+ I; o: K  _
81 }$ [. _9 o, T: w2 `: Y
9
5 U1 Y% N6 m3 t  Z8 m! q10
  e9 ~- h4 f& {/ j* t$ }+ w- O9 a11
, u1 y! y, z. ^7 \12
" ^& j5 t' _! l2 t; y  Q7 ~13
4 c0 K! K; T' B-t 指定配置表8 ?- r4 C+ C& {- m# S
-A, ––append 将规则添加到链中(最后)。* @/ ]6 {1 {/ X
-I, ––insert 将规则添加到给定位置的链中。
4 t1 }7 j- |# J4 u2 L-C, ––check 寻找符合链条要求的规则。
" l) U, ~' u4 e, z, }, J-D, ––delete 从链中删除指定的规则。" Y  U7 ^2 Q+ w. |. \1 X
-F, ––flush 删除对应表的所有规则,慎重使用。  t( X( n' g6 [
-L, ––list 连锁显示所有规则。
; |0 k8 d8 `( E6 D; C3 w-v, ––verbose 使用列表选项时显示更多信息。
3 k6 p4 J- ]0 E6 d6 n  Y1 Q-P, --policy 设置链的默认策略(policy)
0 {" i& Z2 J% ]-N, --new 创建用户自定义链9 k! R( s/ C8 o+ x
-X, --delete-chain 删除用户自定义链
3 g- z) |% ~6 ]$ C-E, --rename-chain 重命名用户自定义链
. U# g* w, t4 S" z" i: R-j target 决定符合条件的包到何处去,target模式很多! i+ s* ^, ?; b9 z, a
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-11-3 02:35 AM , Processed in 0.096703 second(s), 23 queries .

Powered by xyh-moon X3.5

© 2001-2026 Discuz! Team.

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