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

Centos7 配置iptables NAT端口转发

[复制链接]

979

主题

90

回帖

5万

积分

管理员

积分
53052
发表于 2023-12-1 16:35:19 | 显示全部楼层 |阅读模式
打开端口转发的功能9 p- \/ L) N; M

: N" f+ G% B6 J1 s6 I1,首先开启IP转发功能,默认是关闭的。2 ?7 \9 v# j* d( ~3 o) `: B
/ v$ ~# l  N5 G, i8 _  v/ h6 w
临时修改:3 s8 H7 ^1 v4 O, _
8 l7 A; |0 U6 ^' ^9 G( ?
1
+ q' B3 O0 \/ s0 b' g5 F% o[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward7 S* z. J/ J! X' M- |- b
修改过后就马上生效,但如果系统重启后则又恢复为默认值0。. m" _4 Y. M) i! K
6 b& `9 x! ]# @4 ]: q+ z. f
永久修改:
; f. J2 ?  K0 M
3 E- }' o! A3 A' `0 G9 q1 s1
) x3 C, x+ h3 g" @' i3 C2
; D$ q, S5 d* q$ ^  ]" d- [3
* V1 l# z: G3 H5 E8 e4+ d2 P* y$ I' n, Y# c4 R
55 K+ O* r/ Q8 @! _
vi /etc/sysctl.conf
1 h8 ]# f4 ]. S6 f$ F1 h5 F, T
, A4 e/ B3 L1 e# 找到下面的值并将0改成1,如果没有该配置,直接添加" o9 ?6 i4 g  Q. e! z2 j
+ I( v5 y) K% N% \4 |: ~3 u
net.ipv4.ip_forward = 1$ v% _& o' j9 {# o, b
# sysctl -p(使之立即生效)/ m  n9 s2 l$ q0 O% \6 o
; }3 m( X# [* n1 k" {+ v
默认值0是禁止ip转发,修改为1即开启ip转发功能。
! n9 |! G1 k( x. \. h
, g! C' s5 w  R+ i: d+ {7 t9 ^( V2 p9 p % ?; a+ y6 K# D' |( }, u: ~& m

& v4 X2 x* G1 k端口转发0 V4 P/ o* h& E  v1 @
$ t& e( b% v( g3 D# X
假设用户访问本机(10.1.1.5)的3306端口时我想让它转发到10.1.1.1:3306
3 g; A- x$ I- }+ v& l, ~8 p
5 ]  ~  q9 G8 h: T+ `0 m: K# C: {! L17 O2 A* _' |" G8 G' m; }: P
2# j  M1 B$ X2 x2 a1 j7 q4 C1 R
3- @( G1 m8 k, X) k$ y2 ]6 i
4
7 t1 Z! @4 Y+ ]. C5. n; j$ g" K$ o' S3 Q1 ^; m3 k/ A
[root@mongo iptables]# cat iptables-open.sh4 N- k* T  }0 m/ ]: {
#!/bin/bash( ]1 e( f) `" R0 y4 [8 i. Q
9 d6 q; q! V, t+ K& X! m" {! b
iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 10.1.1.1:3306
7 [7 l7 d8 z7 D% eiptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3306 -j MASQUERADE
) z' U2 m( R  q" P) _  
, D9 o# p" G9 n$ |0 ^( J
) l' ?; {0 A5 H: T查看规则4 [- P3 k, x3 P6 ^" x" h
# y% q/ K2 g$ k5 {6 @
查看当前iptables的nat表内的规则0 r  C% n6 E$ n/ j+ @/ `

* a8 U! e; F6 N* G1! \: C& m$ h! K, y; @6 {& c
iptables -t nat -nL --line. K$ N8 i8 ?  c
命令解释:
* u% N/ Z) }3 a$ U4 |# v) o2 d$ B4 z$ s, l: u
1! r: X$ ^; P9 ?1 c2 W7 n7 k" ~
2& m. K+ ]+ k, R; l+ H+ N" f  g
3$ s" i% Y. X2 X: [9 ^" t- @8 I
4
! Y* Z& [: T# h. T3 s5
; D2 T9 y( g7 v% G; v3 S4 [-t nat指定看nat表,不用-t默认为filter表: M8 H$ Z9 G4 a; |' G
-L 列出表内所有规则,可以指定特定链
' M& d1 y6 N* f-n 使输出中的IP地址和端口以数值的形式显示
3 I. E6 ^( a5 p: `-v 输出详细化/ m! L: M2 v8 x+ P, t4 W, Z
--line 显示出每条规则在相应链中的序号2 N6 N! n5 D% ~7 P: L* C
3 {& Y1 J! p5 A; ^8 z( i. `

- L4 P* \. i; F' i' J
0 o, w8 B; l. J! ~* V6 H8 R9 g; q/ n" f( H
删除规则0 @- T% w& y1 t$ X- ~/ ~

: D$ q/ f/ g2 ]如果要删除PREROUTING规则,命令为
+ h0 t2 c! g% E) P
' I( `* |' e1 w1 z/ u# o1
2 h- o3 r0 F" Piptables -t nat -D PREROUTING 1         # 1 代表前面的规则序号
1 s1 j" w" l* M5 m' j: i2 m如果要删除POSTROUTING规则,命令为
  ~# u! w5 E' g2 x9 w6 P! ]( k9 y% h  v, Z
11 _/ |2 C. j* _, Z/ b; U* P5 @4 e
iptables -t nat -D POSTROUTING 5        # 5 代表前面的规则序号- f& O6 \! j9 ^7 [8 Q
命令解释
; b9 [1 R: z3 Z) f, N
' l$ m4 O: ^1 w! p: U+ N, l* T' [1
' R, [+ k; R/ D' Z1 Y2
! G( @4 ?2 G& [& T9 `3
2 |2 P) `1 Y6 @4
2 Q7 h5 ^$ P9 N! I" i' q5
5 y1 W& c' m% [69 O) G) D5 }$ t; G5 C. F0 M5 |8 D
74 G( w$ S& S6 ?0 b* C& B0 y
8
! e$ J3 V8 S% [9
+ A% S& s0 i7 x: C5 s4 R' U105 [7 J1 i4 Z: l8 v9 X
11& j( U# }: }6 k
12
1 `- @8 a: _' s- c! k1 `2 @13
0 {2 w! I! V  i5 M-t 指定配置表; W2 Z2 i" D+ Z) x. ^' u5 ]: g
-A, ––append 将规则添加到链中(最后)。
/ _% }1 z/ F! v' M4 V  h-I, ––insert 将规则添加到给定位置的链中。
5 ^( J/ C5 @/ ?$ X-C, ––check 寻找符合链条要求的规则。
' o* p" O0 p! P" g) d3 e4 a9 Y-D, ––delete 从链中删除指定的规则。- N8 ^) c( }2 U' j0 ~
-F, ––flush 删除对应表的所有规则,慎重使用。
  S# e' M3 w9 t- |* a-L, ––list 连锁显示所有规则。0 X9 e# @5 S1 X( S4 z' D/ ~$ z
-v, ––verbose 使用列表选项时显示更多信息。/ W: T, n# _0 H
-P, --policy 设置链的默认策略(policy); f8 L+ l% E6 t; p$ q+ I
-N, --new 创建用户自定义链) _" T5 O! H9 Z$ k4 g9 C" f* k9 [9 b
-X, --delete-chain 删除用户自定义链7 k" Y1 B) r! T7 L/ ~0 \
-E, --rename-chain 重命名用户自定义链$ T" [- M+ o) J  @( P. O- Y* k
-j target 决定符合条件的包到何处去,target模式很多
) p  E. O5 S- n' V" t
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2025-2-24 23:59 , Processed in 0.103575 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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