要在本地连接阿里ECS(字符界面ubuntu)需要实现:
本地浏览器能远程访问Django测试web + Samba共享Django项目文件实现远程编辑调错
linux下使用iptables实现端口转发,配置较为复杂,使用rinetd工具可以实现快速配置和修改端口转发。
例:本机ip:1.1.1.1 需要实现访问本机的8080端口,自动转发到2.2.2.2 80
下载软件:
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
安装软件:
tar xzvf rinetd.tar.gz
cd rinetd
make
make install ps:执行make install时可能出现错误:缺少目录/usr/man/man8,此时执行 makedir -p /uar/man/man8即可
创建配置文件:
vim /etc/rinetd.conf(这个文件不存在,需要手工创建)
0.0.0.0 8080 2.2.2.2 80 ps:本机8080端口需要确认未被使用:netstat -antp | grep 8080 | grep -v grep
启动rinetd:
rinetd -c /etc/rinetd.conf ps:需要确认进程中没有rinetd:ps ax | grep rinetd | grep -v grep,如果有的话,需要删除该进程:pkill rinetd
配置文件格式:
bindaddress bindport connectaddress connectport
绑定的地址 绑定的端口 转发的地址 转发的端口
0.0.0.0 8080 2.2.2.2 80 将所有发往本机的8080端口的请求转发到2.2.2.2的80端口
1.1.1.1 8080 2.2.2.2 80 将所有发往1.1.1.1的8080端口的请求转发到2.2.2.2的80端口
应用1:本地连接阿里云Redis
-----------------------------------------------------
本地主机 ----> 阿里云ECS的6379端口 -----转发------> 阿里云Redis的6370端口 (注意用户名密码验证(详见Linux小病不断))
应用2:本地访问阿里云ECS(Ubuntu)上的Django测试环境
-----------------------------------------------------
本地主机 ---------> 阿里云ECS的(外网IP:8080端口) ---------转发------> 阿里云ECS的(内网IP:8000端口) <----django测试环境服务器启动需指定内网IP和端口 “ python manage.py runserver 172.17.18.249:8000”