用iptables实现同机器和不同机器间的端口转发

Iptables

将本机80端口的请求转发到8080端口

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
  1. 如果需要本机也可以访问,则需要配置OUTPUT链:
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080

两机之间的端口转发

  1. 将本机的81端口的请求全部转发到192.168.1.1:80
  2. 首先要启用ipv4的转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
  1. 或者是修改/etc/sysctl.conf (via)以便重启后也会启用转发,然后设定iptables(via):
iptables -t nat -A PREROUTING -p tcp --dport 81 -j DNAT --to 192.168.1.1:80 
iptables -t nat -A POSTROUTING -j MASQUERADE
  1. 如果开启了防火墙功能,注意要将80和81两个端口都打开。

10.23.3.129上设置对10.21.1.91 443端口的转发脚本:

#!/bin/sh
/sbin/iptables  -t nat -F
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A PREROUTING -p tcp  --dport 443 -j DNAT --to 10.21.1.91:443
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
/sbin/iptables -t nat -L -n

linux下最简单的端口转发工具:rinetd【如果觉得iptables使用复杂,可用下面的工具,比较简单】

官网地址:http://www.boutell.com/rinetd

时间: 2024-10-10 04:08:36

用iptables实现同机器和不同机器间的端口转发的相关文章

iptables实现端口转发

iptables实现端口转发 Linux下iptables不仅可以用来做防火墙还可以用来做端口转发 示例: 将本机的8080端口转发至其他主机,主机IP:192.168.1.12,目标主机IP和端口:192.168.1.13:8088,规则如下 iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.13:8088 iptables -t nat -A POSTROUT

2个机器之间的端口转发 iptables实现

场景: 另外个机器无法被直接访问,用A机器进行端口转发 路由器---指定端口nat到 ------- A机器---------iptables nat 到 ------------B机器的端口 iptables -t nat -A PREROUTING -i em3 -p tcp --dport 5080 -j DNAT --to 192.168.0.230:80  (后面这个ip是B机器的ip加端口,前面的em3是A机器的数据经过的网卡 5080是访问A机器的5080端口就转发到后面机器来)

Linux 服务器--Iptables 端口转发

日常Iptables 端口转发 需求:公司是局域网络,通过一个外网ip,进行互联网的访问.公司的云平台服务器在公网中,虚拟化平台中有一台内部服务器,用于公司某部门的使用,上面运行www 服务,ssh端口,方便平时上传网站文件.现领导要求将此内部服务器交接给此部门,并只让其在公司内部访问,外面的公网是拒绝访问的. 结构图: 2.解决方法:通过linux 服务器的iptables,利用端口转发,在公司内部通过A机器(或者说A代表某个部门),使其访问到B机器上的特定连接转发至内部机器C上.由于机房服务

Linux iptables 端口转发

准备: 1, UDP端口范围映射 2, tcp 端口范围映射 3, 本机端口转发 4, 单个端口转发 准备: 打开转发 [[email protected] ~]# cat /etc/sysctl.conf  | grep net.ipv4.ip_forward net.ipv4.ip_forward = 1 清空规则,修改默认策略,重要数据请备份 [[email protected] ~]# iptables -F -t nat [[email protected] ~]# iptables 

iptables 端口转发 实现访问内网的httpd服务

上篇文章写到通过dhcp实现客户机上网功能,由于公网地址只有一个,我想把内部服务发布到外网就需要通过 "端口转发" 来实现 1.公网服务器: eth0:公网IP eth1:内网IP - 192.168.1.1 2.HTTPD服务器: eth0:内网IP -192.168.1.100 3.实现方法: 通过访问公网IP的8080端口来实现到内网MYSQL服务器的3306端口的访问 4.在公网服务器上: iptables -t nat -A PREROUTING -p tcp --dport

使用iptables做端口转发

#!/bin/sh IPT="/sbin/iptables" /bin/echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/modprobe ip_tables /sbin/modprobe iptable_filter /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/modprob

CentOS系统中使用iptables设置端口转发

echo 1 > /proc/sys/net/ipv4/ip_forward 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0    这样允许iptalbes FORWARD. 修改完成后运行以下命令使参数生效:/sbin/sysctl -p 将本地接口IP 61.144.14.72 的3389端口 转发到 116.6.73.229的3389      (主要访问到61.144.14.72的3389端口,就会跳转到116.6.73

centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发

centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm是否支持a: grep '(vmx|svm)' /proc/cpuinfo vmx是intel cpu支持的svm是AMD cpu支持的如果flags: 里有vmx 或者svm就说明支持VT:如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机. b: 确保BIOS里开启VT: Intel(R)

linux下通过iptables只允许指定ip地址访问指定端口的设置方法

这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 其次,设置只允许指定ip地址访问指定端口 iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT iptab