前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iptables之NAT端口转发设置

iptables之NAT端口转发设置

作者头像
洗尽了浮华
发布于 2018-01-22 08:29:50
发布于 2018-01-22 08:29:50
3.7K0
举报
文章被收录于专栏:散尽浮华散尽浮华

背景: 服务器A:103.110.114.8/192.168.1.8,有外网ip,是IDC的一台服务器 服务器B:192.168.1.150,没有外网ip,A服务器是它的宿主机,能相互ping通 服务器C:192.168.9.120,是公司的一台服务器,能上网。 服务器C可以直接ssh登陆A服务器,但是不能直接登陆服务器B,因为它们处在两个不同的局域网内。 现在要求能从服务器C上ssh登陆服务器B,并且做ssh无密码信任跳转关系。 这就需要用到iptables的NAT端口转发功能了~~~~~ 思路: 让服务器C先访问服务器A上的20022端口,然后NAT转发到服务器B的ssh端口(22端口) ---------------------------------------------------------------------------------------------- 下面是在宿主机A上(192.168.1.8)的操作: 1)先开启ip路由转发功能 [root@linux-node1 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 或者 [root@linux-node1 ~]# cat /etc/sysctl.conf .......... net.ipv4.ip_forward = 1 [root@linux-node1 ~]# sysctl -p 2)设置iptables的NAT转发功能 [root@linux-node1 ~]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 20022 -j DNAT --to-destination 192.168.1.150:22 [root@linux-node1 ~]# iptables -t nat -A POSTROUTING -d 192.168.1.150/32 -p tcp -m tcp --sport 22 -j SNAT --to-source 192.168.1.8 [root@linux-node1 ~]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 20022 -j ACCEPT [root@linux-node1 ~]# service iptables save [root@linux-node1 ~]# service iptables restart

nat端口转发设置成功后,/etc/sysconfig/iptables文件里要注释掉下面两行!不然nat转发会有问题!一般如上面在nat转发规则设置好并save和restart防火墙之后就会自动在/etc/sysconfig/iptables文件里删除掉下面两行内容了。 [root@linux-node1 ~]# vim /etc/sysconfig/iptables .......... #-A INPUT -j REJECT --reject-with icmp-host-prohibited         //这两行最好是注释掉。在一般的白名单设置中,如果这两行不注释,也会造成iptables对端口的设置无效 #-A FORWARD -j REJECT --reject-with icmp-host-prohibited [root@linux-node1 ~]# service iptables restart ---------------------------------------------------------------------------------------------- 下面是在服务器B上(192.168.1.150)的操作: 1)首先关闭防火墙 [root@dev-new-test1 ~]# service iptables stop 2)设置网关为宿主机的内网ip(内网网关地址一定要保持和宿主机内网网关地址一致!如果没有内网网关地址,那么就把它的网关设置成宿主机的内网ip地址!) [root@dev-new-test1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 ...... GATEWAY=192.168.1.8 ...... [root@dev-new-test1 ~]# /etc/init.d/network restart [root@dev-new-test1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.1.8 0.0.0.0 UG 0 0 0 eth0 ---------------------------------------------------------------------------------------------- 最后在公司服务器C上测试:看看能否登陆到虚拟机上 [root@redmine ~]# ssh -p20022 103.110.114.8 The authenticity of host '[103.10.86.8]:20022 ([103.10.86.8]:20022)' can't be established. RSA key fingerprint is f8:a9:d1:cb:52:e8:8b:ed:8b:d2:1a:86:06:1a:fd:0f. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[103.10.86.8]:20022' (RSA) to the list of known hosts. root@103.110.114.8's password: [root@dev-new-test1 ~]# ifconfig                          #查看,已经成功登陆进来了! eth0 Link encap:Ethernet HWaddr FA:16:3E:9D:F3:17 inet addr:192.168.1.150 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f816:3eff:fe9d:f317/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:27047404 errors:0 dropped:0 overruns:0 frame:0 TX packets:6401069 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:67605283704 (62.9 GiB) TX bytes:566935277 (540.6 MiB)

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:87025 errors:0 dropped:0 overruns:0 frame:0 TX packets:87025 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:65978795 (62.9 MiB) TX bytes:65978795 (62.9 MiB)

可以把服务器C的公钥id_rsa.pub内容拷贝到虚拟机上的authorized_keys文件内,这样从C机器就能ssh无密码登陆到虚拟机B上了。 -------------------------------------------------------------------- 下面贴出几个其他转口的转发规则(本机开启ip路由转发,目标机器注意防火墙和网关设置): 本机(192.168.1.7)的19200转发到192.168.1.160的9200 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 19200 -j DNAT --to-destination 192.168.1.160:9200 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 192.168.1.160/32 -p tcp -m tcp --sport 9200 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 19200 -j ACCEPT

本机(192.168.1.7)的33066转发到192.168.1.160的3306 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 33066 -j DNAT --to-destination 192.168.1.160:3306 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 192.168.1.160/32 -p tcp -m tcp --sport 3306 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 33066 -j ACCEPT

本机(192.168.1.7)的8880转发到192.168.1.1的8080 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8880 -j DNAT --to-destination 192.168.1.160:8080 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 192.168.1.160/32 -p tcp -m tcp --sport 8080 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 8880 -j ACCEPT

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-09-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Iptables防火墙规则使用梳理
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理: iptables首先需要了解的: 1)规则概念 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储
洗尽了浮华
2018/01/23
4K0
Iptables防火墙规则使用梳理
linux iptable设置防火墙
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理:
全栈程序员站长
2022/09/01
6.1K0
使用iptables进行端口转发
说明:玩vps的经常要用到端口转发用以实现更快的速度,比如手上有个某商家的vps,本地访问速度很慢,这时候就可以用一个香港或者日本的线路做桥梁,达到更快的速度,这里先说下用iptables来进行中转的教程,毕竟自认为这个是最好上手的。
用户8851537
2021/07/23
9.9K0
CENTOS通过iptables做端口转发
因为一些特殊原因,我需要用到端口转发功能,这个功能是这样的,我有2台服务器:A和B,分别是2个不同IP。2台服务器各自的特点是:A网络好,性能差;B网络差,但性能强。(此处“网络”只针对大陆IP访问的网络性能) 所以我的网站放在B上,但是要通过A服务器的IP去访问B服务器上的网站。(注意,这里只是拿放网站做例子,如果只放网站的话,使用nginx做反向代理即可。如果是其他的服务,就需要使用本文章说的端口转发。) 例如: A服务器IP:1.1.1.1 B服务器IP:2.2.2.2 通过网上找到的资料,
用户2135432
2018/06/04
4.6K0
亲测可用,iptables实现NAT转发。
实现将本机(192.168.1.7:7410)端口流量转发给(192.168.1.160:9200)。
justmine
2019/03/15
2.6K0
玩转CVM之利用iptables进行端口转发
在网络上发送的所有数据包都是有原地址和目标地址的,NAT就是要对数据包的原地址或者目标地址(或者端口)进行修改的技术。
苏欣
2019/07/09
5.3K0
使用iptables实现多主机间端口转发
访问 192.168.1.10:18888 ,实际访问服务为 192.168.1.125:80
大大大黑白格子
2020/06/10
3.8K0
使用iptables实现多主机间端口转发
kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
一、背景说明  在之前的篇章中,提到在webvirtmgr里安装linux系统的vm,下面说下安装windows系统虚拟机的操作记录: 由于KVM管理虚拟机的硬盘和网卡需要virtio驱动,linux系统默认支持virtio驱动,所以安装linux系统虚拟机的时候只需要加载iso镜像即可。 但是windows系统默认不支持virtio驱动,需要另外下载virtio驱动,在安装windowss虚拟机过程中,需要选择virtio驱动路径,继而加载驱动,最后才可以识别到驱动。 下面是安装windows serve
洗尽了浮华
2018/01/22
2.5K0
kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
IPTABLES端口转发
iptables是unix/linux系统自带的优秀且完全免费的基于包过滤的防火墙工具,它的功能十分强大、使用非常灵活、可以对流入、流出及流经服务器的数据包进行精细的控制,作为防火墙其端口转发功能自然是必不可少的,但是需要高的操作权限
Al1ex
2022/06/23
1.9K0
IPTABLES端口转发
iptables防火墙与端口转发
iptables 的结构:iptables -> Tables -> Chains -> Rules
yichen
2023/01/31
2K0
iptables防火墙与端口转发
kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装: 一般情况下,虚拟机(下面称vm)跟宿主机通过网桥方式进行通信,只要宿主机能联网,那么vm也就能顺利联网。 然而,我的测试环境下的网络环境比较特殊: 没有内网交换机设置,也就是说内网没有网关,宿主机默认的网关是外网地址的。 如下,宿主机开启了两个网卡:em1(外网),em2(内网,加入到网桥br0中) [root@openstack ~]# ip addr           #查看宿主机的网卡配置情况 1: lo: <LOOP
洗尽了浮华
2018/01/22
1.2K0
[Linux]iptables 端口转发
Windows的端口转发,我们可以 点击这里 直达。但是我们今天的需求是用我们的linux转发来加速我们在美国的windows。所以我们设定的案例如下
用户2353021
2020/05/12
3.7K0
防火墙之地址转换SNAT DNAT
1、原理:在路由器后(PSOTROUTING)将内网的ip地址修改为外网网卡的ip地址。
拓荒者
2019/03/15
3.2K0
防火墙之地址转换SNAT DNAT
Linux安全: iptables端口转发
# iptables -t nat -A PREROUTING -p tcp --dport 2201 -j DNAT --to-destination 10.6.1.114:22
heidsoft
2018/10/18
2.4K0
ELK实时日志分析平台环境部署--完整记录
在日常运维工作中,对于系统和业务日志的处理尤为重要。今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~ 一、概念介绍 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的
洗尽了浮华
2018/01/22
2.1K0
ELK实时日志分析平台环境部署--完整记录
Linux 端口转发
本地执行建立隧道,通过远端端口访问本机 vim /etc/ssh/sshd_config
以谁为师
2019/05/28
21.5K1
iptable端口重定向 MASQUERADE[通俗易懂]
首先简述下NAT服务器在负载均衡中做了什么,简单的说就是Linux (内核2.4以后是Netfilter肩负起这个使命滴)内核缓冲区修改来源,目标地址。
全栈程序员站长
2022/07/02
12.6K0
iptable端口重定向 MASQUERADE[通俗易懂]
iptables简要介绍及使用iptables实践NAT技术
iptables的文章多如牛毛,但是,我读了一些,发现虽然成体系,但是不便理解,今天就结合自己的理解,好好讲解下,另外,我们也会使用iptables来实验一个nat地址转换的demo,nat转换,通俗地讲,一般是为了解决ipv4公网地址不够用的问题,因此在学校、公司等机构的有公网ip的服务器上,部署nat软件进行地址转换,如内网机器访问互联网时,将源地址转换为服务器的公网ip;在收到响应时,此时目的地址是公网ip,此时需要修改为内网机器的地址。
低级知识传播者
2023/08/30
1.1K0
iptables简要介绍及使用iptables实践NAT技术
详解网络知识:iptables规则
规则是管理员对数据包制定的一种触发机制,即当数据包达到某种条件,就执行指定的动作。 条件:可以是数据包源地址、目的地址、协议等 动作:可以是拒绝、接受、丢弃等;详细介绍见下表
ICT系统集成阿祥
2024/12/03
3810
详解网络知识:iptables规则
udp端口转发 Linux,Linux iptables 端口转发[通俗易懂]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说udp端口转发 Linux,Linux iptables 端口转发[通俗易懂],希望能够帮助大家进步!!!
Java架构师必看
2022/08/09
14.4K0
相关推荐
Iptables防火墙规则使用梳理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档