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

Centos7 配置iptables NAT端口转发

[复制链接]

991

主题

92

回帖

5万

积分

管理员

积分
55457
发表于 2023-12-1 16:35:19 | 显示全部楼层 |阅读模式
打开端口转发的功能
/ H* A! r! T9 J/ H% @
5 }- e9 \$ D3 \; h' F8 R$ |' G( A1,首先开启IP转发功能,默认是关闭的。
! k" V: s6 U/ w, p6 H( R, A4 `$ D3 h6 t5 L
临时修改:  M, Q* G) K5 G$ q: i$ Y
& _8 t% ^( @8 y/ \0 c: E( E& ]
1
  H5 ]1 h! L0 D[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
3 z5 k, g8 ]! e0 v/ `6 \# g修改过后就马上生效,但如果系统重启后则又恢复为默认值0。
, f6 J- l  ?$ e' t8 c" J0 y* t: o0 i# u
永久修改:
( _  G3 @  i. d+ U7 S3 o4 x$ ?! a- X) u% O4 `1 X0 b
1
) }4 f* m# y7 _2 ?4 ~2
  k/ b3 @' w0 T# u# f0 N* e# s* ~3
- h4 C4 I4 e5 c7 t$ v; k8 P, I4: j! }) W5 o. s8 w9 M
5
6 }. j/ {: v9 l$ K4 T' R, tvi /etc/sysctl.conf8 y$ X+ A9 h8 v- L  y7 t7 T7 Y  {+ A

3 S% {* b+ v1 D( k# m# 找到下面的值并将0改成1,如果没有该配置,直接添加+ |  B4 N) M" S: P- Q9 p) _" T

  ?1 T, Y; r# b. Q, a! Unet.ipv4.ip_forward = 18 v$ _6 d6 @1 }
# sysctl -p(使之立即生效)
8 @+ a2 R! y& `9 D2 @5 Z+ t5 M3 F. u/ c
默认值0是禁止ip转发,修改为1即开启ip转发功能。) d) X4 m& Q5 h$ F4 y% Y  O/ \. Z
" P3 H0 l. M( S* f
$ A+ a* r2 K' `2 X
& @  R2 o: K# C. i7 ]- e
端口转发
( W8 e0 i/ w! `6 P* Z8 r
* u" @& {6 I( c( J% l; T/ u# z* q假设用户访问本机(10.1.1.5)的3306端口时我想让它转发到10.1.1.1:3306
9 {" W6 i( |# H: m6 L8 I2 I- Y( W2 L. F4 t* \1 f& |: w
1
; h" {+ c9 e4 B3 c2" \: g7 S9 m3 `3 Q6 T
3
% _- j$ H. W9 U$ w4# S' P. T  I& C8 ?2 N
52 b  J- p6 ]8 n8 h6 I# k
[root@mongo iptables]# cat iptables-open.sh
; l# D  O: B  d* ]' S4 }5 r#!/bin/bash
$ i8 u$ M6 m" x7 K; y  [& e7 R; R
3 g$ X% Z* _  _/ Y1 Biptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 10.1.1.1:33068 ~2 B& @/ h0 J2 |
iptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3306 -j MASQUERADE
( ]) M0 @0 r$ t! V* k* s  
( J: o* H8 q+ g
% V7 b* i# S$ ?% D: \查看规则+ b4 K9 Q! _0 V+ T

1 w+ A! A! M% \- f查看当前iptables的nat表内的规则
" x' ]6 T  U9 h6 n) ]8 E/ }( m$ w1 r
1
0 B* Z. x7 V' i, D0 X7 iiptables -t nat -nL --line( ^- H* E9 H4 S$ ]$ Y
命令解释:) y3 Q5 i! Z- z3 v

$ B/ x- T: I6 X  d& |4 Z# G1
% T2 a) \- E+ r- m9 ?; e29 s* N6 d* o9 _
3. x/ I- m7 s5 P: d  d: t1 x
40 n+ a* V9 Q+ P2 b2 P! H
50 s1 Z8 v7 V  ]4 z# x+ B
-t nat指定看nat表,不用-t默认为filter表5 x' A3 C- D8 a& Q: b' X
-L 列出表内所有规则,可以指定特定链7 w9 u% Z$ `+ @3 v1 k6 B' G/ @2 L6 _
-n 使输出中的IP地址和端口以数值的形式显示! ^( z, B* A3 L5 V$ \
-v 输出详细化* s1 H+ Q( U  t. e9 A) ]; {& x
--line 显示出每条规则在相应链中的序号
+ L4 c# s$ g5 G# ~2 O( K) C# J4 q( e' Y8 T9 V& t

! V1 @1 C5 a4 e& z 1 c4 e* I! O6 N: J% q
. g. v- B1 e- F& G" O& n" r5 V" h
删除规则
& W7 [, ?5 d/ V; j+ {- P
) C9 |7 U& C4 s8 O- X如果要删除PREROUTING规则,命令为
- L5 q4 Z% H  t+ w) ~5 D: y, j
& g; {: F& V; b& T3 W12 Q9 t1 ~5 A; c/ c6 s$ f, q5 N
iptables -t nat -D PREROUTING 1         # 1 代表前面的规则序号
* `7 V8 D. W* G, t如果要删除POSTROUTING规则,命令为
4 c6 ^3 J0 p4 y) k7 w
/ D5 P! J. C+ w4 H# `1$ S2 e: N- c; L- H3 R2 b8 `3 }
iptables -t nat -D POSTROUTING 5        # 5 代表前面的规则序号
" F5 r; E+ V( @命令解释; ]$ d2 c& ?$ z
( g) z; m# X% l5 B1 \/ q, R: K  n
1
! Y! l0 u8 b: ~* p1 p27 t* r5 {% h* q$ k  f$ |
3
* n8 F" b5 J  o+ o/ T5 k4( _* |/ r( y3 g0 a7 p. X
5. {1 }: U; P% v  f
6
* p: N9 O) R5 q6 `* b. l2 L. ^" [78 v2 I5 S" d8 d3 \; g8 i% t1 f
85 ]+ L* u9 ^! ]2 M
9
# o+ g% Y& X% s7 E6 M10, C& C( L9 F' S
11
6 A- ^, V' N7 O6 }. f12, M; p" a" e7 k2 S! }# I; Y! }
13! m. y0 J) o- X1 r; c
-t 指定配置表
6 o8 G, j# x7 Y-A, ––append 将规则添加到链中(最后)。& u( w" |8 P* u( M
-I, ––insert 将规则添加到给定位置的链中。6 F: o7 W% h' ^& v1 s
-C, ––check 寻找符合链条要求的规则。
4 J7 m4 k/ `/ A: r8 g9 k; L-D, ––delete 从链中删除指定的规则。
. |, V# \9 i4 }. E7 D-F, ––flush 删除对应表的所有规则,慎重使用。
7 \  C% X( O$ b3 P% P& F9 @-L, ––list 连锁显示所有规则。
. c" F& B+ l5 b& K) m$ Z-v, ––verbose 使用列表选项时显示更多信息。5 r1 O* Q: Y; N9 T4 F+ i, ^1 R
-P, --policy 设置链的默认策略(policy)
  H/ m" B/ K7 |1 Z! Q& w) }-N, --new 创建用户自定义链- N( y' i  f" O8 @5 B3 V
-X, --delete-chain 删除用户自定义链- y8 I+ H$ Y+ f1 e* h; Y! g
-E, --rename-chain 重命名用户自定义链" H) P; ^& a- s$ Z  W+ r8 V$ D' v
-j target 决定符合条件的包到何处去,target模式很多
/ O* {. B+ f' J9 g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-8-5 10:23 AM , Processed in 0.076216 second(s), 23 queries .

Powered by xyh-moon X3.5

© 2001-2026 Discuz! Team.

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