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

Centos7 配置iptables NAT端口转发

[复制链接]

989

主题

92

回帖

5万

积分

管理员

积分
55361
发表于 2023-12-1 16:35:19 | 显示全部楼层 |阅读模式
打开端口转发的功能2 O7 a/ z/ p0 q/ C
* l) s+ I  o+ B) x$ P
1,首先开启IP转发功能,默认是关闭的。
( o7 l5 i+ v, {$ @  O0 a& Q
" V1 S* ~; p" J& a' O临时修改:
. e$ A7 l, K5 H) W0 e9 g3 N4 r. y( \& w
1
* v2 v: A& v( A; F: @[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
0 v  e) a  K2 B: g1 P9 Z; r修改过后就马上生效,但如果系统重启后则又恢复为默认值0。3 c$ I- ]; m, k+ ^

2 s+ G  r$ Q- {  {7 J1 ^0 H永久修改:
& u1 F9 L2 g" p) n: E
0 Y7 O/ \4 |7 e13 W0 X. ~% f" v% y
2
, |" b/ G" q1 r. M/ o3
4 f' `  W( ]2 z6 D$ k  ^) g5 y4
* D) y" b+ T5 s/ G5
1 ?, p1 D& n" U1 U% h& N6 mvi /etc/sysctl.conf7 a5 q) N& ?4 Z6 f
' y8 T8 z- |$ G" A: d% r6 f
# 找到下面的值并将0改成1,如果没有该配置,直接添加2 L' E) K, M4 W, F

& `1 Y- u8 [  T! G8 w% jnet.ipv4.ip_forward = 16 {3 _$ s# s9 Z
# sysctl -p(使之立即生效), F# h7 }" q6 F. O
# o- K; M  F' O
默认值0是禁止ip转发,修改为1即开启ip转发功能。
& i' c6 a; z. P" k/ A# @6 H' G, H' B9 y1 L- |3 @* C# Z! {2 @0 T

4 z+ G3 Q5 _+ J0 a
/ ?1 ?( U3 e- Q9 W7 A8 q端口转发& k% [6 X0 q2 f4 ?  H' E
7 P" g5 {  P! D+ s( H
假设用户访问本机(10.1.1.5)的3306端口时我想让它转发到10.1.1.1:3306
, M0 E' y' Y- ?& x! @* E5 U
6 o' f4 q6 E1 r: o7 w, D5 b1 B1
8 d2 s' N: a7 P  Z5 ^2
# P% @+ ~  ?+ {! X, b4 Y" R3
+ c+ @( N6 j5 ?  s4
1 \& s5 y) w# b1 d; J$ o5
' X; K; f! V$ p; j8 _6 i+ D/ g[root@mongo iptables]# cat iptables-open.sh$ P/ [' {" `" W) F0 n% }+ N
#!/bin/bash
( \: K' g( K: v+ t- Y3 N
$ b% U2 }$ h8 ~# n# n" ]) Hiptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to 10.1.1.1:3306
7 g* a7 _' F* m& b' Qiptables -t nat -A POSTROUTING -p tcp -d 10.1.1.1 --dport 3306 -j MASQUERADE
# D. K1 O7 l( C6 T. H3 E. r* z  
6 z- G) a- {: r1 T! q/ w* v+ |7 q3 j+ R$ ~' V& t8 e8 X
查看规则8 T4 ^+ E7 A: \, m
% H+ g% q/ n( n6 J4 t, B
查看当前iptables的nat表内的规则
' Y( `! m5 G' [* O5 K
) _) K# ]4 b' }/ C, r; t: z1- f! Q: i0 b$ C- u$ j, M- Q
iptables -t nat -nL --line
) z! \9 z6 `% z" p( R命令解释:# r" b' S8 {+ L+ I

: H, e# g& h, ~' ~1 V0 P19 j7 T- z$ ?* J) R1 s4 x7 _. [
2
4 D2 u/ U  ^5 ^. U# Z& \/ ^3  C  C& E+ k  X" X/ a$ ]5 P: O
4
" k5 Q+ {% z9 T55 s2 W) j0 k3 T- C
-t nat指定看nat表,不用-t默认为filter表
6 h, Q( f* H& v3 h) b- q# d7 c! l1 N/ w-L 列出表内所有规则,可以指定特定链
# Q. F8 y, P. o; P5 v-n 使输出中的IP地址和端口以数值的形式显示" k) g. V0 x: x* J
-v 输出详细化
! k1 V8 F4 T4 P  f--line 显示出每条规则在相应链中的序号. p$ P/ G' a2 X5 {
* b  E7 i% w8 M( q3 w# E5 C
# t  a  \8 `6 v
' R3 K( w. I( ~

+ L" C- R2 p: g% ~: T9 D% U 删除规则
9 |, x) h5 c" D7 D  D4 [
1 w* B2 `3 P0 ]' v1 n+ a+ n6 s如果要删除PREROUTING规则,命令为
2 Y" Z8 d, u5 \" K. P; o& W
' F9 \. l* p) h# L1; b1 Y+ U* a) f: s! r5 A+ q
iptables -t nat -D PREROUTING 1         # 1 代表前面的规则序号5 w4 o7 }2 L" |: A/ X3 m+ {
如果要删除POSTROUTING规则,命令为
( y; `% V0 O* z' B4 K& Y- i0 E* `! j6 v7 z/ l
1! A% b; E7 X7 Y2 F: R% d. a
iptables -t nat -D POSTROUTING 5        # 5 代表前面的规则序号
2 n2 d& p+ ^( g* y& A命令解释0 z8 `4 P0 U) d# Z( E# ?: m2 c
* F! B$ v4 D. i0 ~' d$ y) ~
1
0 o$ i3 s9 s  M2
; O8 j9 L! h$ `: T$ v3' X$ A% W9 x) k" q
4; q, H0 R3 c+ U$ ~. g: Q
5
1 i  T+ P: a8 \64 M% W8 `5 U1 p3 v% a( |" J
7& r2 c6 E( I8 S, c, X* w: O
8
$ e! N6 S! X& a$ z" C9. B! D5 t, X  @" D  k8 {2 V! V% k
102 w* [1 W& Y! b& u
11) w$ n- X0 [( @# x2 W
121 ^1 {  `0 A$ O" r5 u
13
; D/ e$ h/ v( I-t 指定配置表
' h) _. L7 ]) Y! @6 U) C-A, ––append 将规则添加到链中(最后)。
& {$ Z- B7 B! Y6 m. ?- A-I, ––insert 将规则添加到给定位置的链中。
" g( o: _8 g2 ^9 C-C, ––check 寻找符合链条要求的规则。
, N6 P9 I7 H7 H$ P-D, ––delete 从链中删除指定的规则。
& V  {0 c' x5 U& |8 M6 B( J7 F' V( f6 N-F, ––flush 删除对应表的所有规则,慎重使用。3 o  y  }5 @5 x% [" Y' G
-L, ––list 连锁显示所有规则。3 y1 @; U% @2 r1 e) x0 K+ r
-v, ––verbose 使用列表选项时显示更多信息。1 H# S+ [2 }/ W' l
-P, --policy 设置链的默认策略(policy)
& D) r; b5 \2 ~  M+ k-N, --new 创建用户自定义链
. t# v/ p0 j6 {% `-X, --delete-chain 删除用户自定义链, \1 q3 K2 `  x# k; y  j1 \  y+ f
-E, --rename-chain 重命名用户自定义链
0 A; R6 P& s7 [4 N-j target 决定符合条件的包到何处去,target模式很多
% }: n0 A7 D* q5 I% b3 U$ N2 K
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-5-6 05:46 AM , Processed in 0.122987 second(s), 23 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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