需求:
在家里的PC上访问阿里云服务器里搭建的服务器.
问题:家里pc可以访问到阿里云公网ip,无法访问到内部的服务器.
怎么解决:
需要将公网ip映射到内网.
iptables我试过,没有效果.感觉iptables管不到公网ip那里.
所以不应该从服务器内部操作(这里不借助其他工具,软件).
那公网ip是谁在管理? ===> 阿里云
网页登录阿里云,进入[云服务器ECS]管理页面=>网络安全=>安全组
默认只有一个组,自己新建或者直接修改原来的组都可以.
比如下面的例子,就是将公网ip:5555端口映射到内网
可以添加多条.
测试:
1 阿里云服务器创建tcp 服务器,ip为ifconfig的eth0的ip(内网ip),port=8888
2 pc端,起客户端,与服务器通信.
client.py
#! /usr/bin/env python
# __*__coding: UTF-8__*__
import socket
target_host = "121.41.52.132"
target_port = 8888
#建立一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#连接服务器
client.connect((target_host,target_port))
'''无限循环实现无限收发数据'''
while True:
str = input("请输入:")
client.send(str.encode())
response = client.recv(4096)
print ("返回的消息为:",response.decode('gbk'))