>iptables端口转发
网络拓扑
服务器A网卡信息
外网IP:117.34.73.249
内网IP:10.1.1.8
服务器内网登录账户密码修改B网卡信息,服务器怎么搭建8080提供服务
内网IP:10.1.1.10
目的
使用户通过外网117.34.73.249:8080访问内网服务器10.1.1.10:8080
思路
如图2所示,端口转发走的是下发A路,利用nat表中prerouting做dnat,用postrouting做snat
包分析
操作 |
源IP:端口 |
目的IP:端口 |
|
packe内网和外网的区别t in |
用户访问 |
8.8.8.8:88 |
117.3地暖安装步骤4.73.249:8080 |
prerouting |
dnat |
8.8.8.8:88 |
10.1.1.10:8080 |
routing decision |
判断是否转发 |
8.8.8.8:88 |
10.1.1.10:8080 |
post服务器是什么routing |
sn外网服务器地址ip免费at |
11ug安装步骤7.3内网怎么连接4.73.249:X |
10.1.1.10:8080 |
pa服务器是什么cket out |
转发包 |
117.34.73.249:X |
10.1.1.10:8080 |
开启内核转发
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p
运行脚本
#!/bin/bash
pro='tcp'
src_host1='10.1.1.8'
src_host2='117.34.73.249'
src_port=8080
Dst_Host='10.1.1.10'
Dst_Port=8080
# 清空规则
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
# Destination network address translate (dnat)
# 如图2所示
iptables -t nat -A PREROUTING -p $pro -d $src_host1 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Port
iptables -t nat -A PREROUTING -p $pro -d $src_host2 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Port
iptables -A FORWARD -p $pro -d $Dst_Host --dport $Dst_Port -j ACCEPT
# 本地连接不经过prerouting,只经过output链,所以想要在服务器A通过本地ip访问服务器B需要在output 链增加dnat规则
iptables -t nat -A OUTPUT -p $pro -d $src_host1 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Port
iptables -t nat -A OUTPUT -p $pro -d $src_host2 --dport $src_port -j DNAT --to $Dst_Host:$Dst_Port
# source network address translate (snat)
iptables -t nat -A POSTROUTING -p $pro -d $Dst_Host --dport $Dst_Port -j SNAT --to $src_host1
# 显示已有规则
iptables -t nat -L -n --line-number
>xinetd端口转发
xinet服务器怎么搭建安装步骤
以上6条命令就是所有的安装步骤,至此就已经安装完毕.安装时会有个warning的提示,不影响使用,不用理会.编辑端口转发配置文件:
vi /etc/rinetd.conf
117.34.73.249 8080 10.1.1.10 8080
//117.34.73.249 自己监听
//10.1.1.10 转发源
配置文件格式很简单:[Source Address] [Source Port] [Destination Address] [Destination Port]简单翻译一下:源IP 源端口 目linux必学的60个命令标IP 目标端口内网是什么意思每行一条转发规则.启动和外网吃播关闭转发程序:
启动:rinetd -c /etc/rinetd.conf
关闭:killall rinetd
检验端口转发程序是否正确运行:
netstat -tanulp|grep rinetd
>端口监听测试tcping
tcping ip地址 检测端口
常用参数:
-t 不停的发送数据包直到 按ctrl+c 停止
-h 以http 的模式工作,可以测试主机是否提供http服务
tcping.exe文件复制到C:\Windows\System32目录下
下载地址:https://elifulkers服务器的作用on.com/projects/tcping.php
发表评论