linux端口映射命令 linux内网端口映射到外网

Linux下端口映射问题这个是linux端口映射命令你linux端口映射命令的防火墙阻止了你对49988端口linux端口映射命令的访问linux端口映射命令,你可以用一下命令解决你的问题
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT#允许访问本机3306tcp端口
iptables -t nat -A PREROUTING -p tcp --dport 49988 -j DNAT --to 61.X.X.X:3306#将对本机的49988映射到3306
最后保存linux端口映射命令,再开机也会生效
linux使用autossh实现开机自启动端口映射1.在远程服务器上创建一个用于ssh连接的用户(ussh不需要登录权限)
2.登录刚刚创建的用户
3.生成ussh的秘钥:
确认秘钥是否已存在:
如果不存在,手动生成(回车三次):
4.把公钥添加到authorized_keys
5.重启ssh服务
6.复制秘钥到客户端服务器 , 并设置权限(这里使用scp复制 , 也可以用其他方法)
7.修改秘钥权限
8.在客户端服务器使用秘钥测试是否可以免密登录(如果不可以 , 请检查4,5,6步骤,如果可以登录则继续下一步)
9.出于安全考虑,需要取消远程服务器上的ussh账户的登录权限(root 账号下执行修改)
重启ssh服务:
10.在客户端服务器新建文件并
输入以下内容:(关于linux自定义系统服务的说明参考:)
其中第六行为autossh映射指令,指令中10764为进程号,10768为本机80端口所映射远程服务器上的端口,这些映射的端口号需要自己设定,并且需要注意新的端口在远程服务器上是否已被占用 , linux查看端口占用的指令netstat -nap | grep port,remote_ip是远程服务器ip
11.修改文件权限为664:
12.使服务生效(会开机自启动):
13.修改后重载服务:
14.手动启动服务
iptables实现端口映射有主机A,eth0的IP为内网IP:192.168.56.101,eth1为公网IP:120.77.36.222 。
有主机B,eth0的IP为内网IP:192.168.56.102 。
可以通过外网访问主机A,主机B和主机A在同一个局域网 。
想要访问外网访问主机B的Web服务,怎么办?答:使用端口映射 。
sudo echo 1/proc/sys/net/ipv4/ip_forward
如果报错:-bash: /proc/sys/net/ipv4/ip_forward: Permission denied
那就切换到root用户:
sudo -i
echo 1/proc/sys/net/ipv4/ip_forward
要想永久有效,还要把/etc/sysctl.conf文件里边的net.ipv4.ip_forward的值改为1 。
参考 linux下用用iptables做端口映射的shell 和 Ubuntu 14.04 端口映射 ,具体配置如下:
1、新建portmap.sh,内容如下:
2、添加执行权限
sudo chmod a+x portmap.sh
3、执行脚本
sudo ./portmap.sh
4、测试访问
curl 192.168.56.102 ,正常 。
curl 192.168.56.101:3480,报错curl: (7) Failed to connect to 192.168.56.103 port 3480: Connection refused 。
啊嘞 , 没有配置成功吗?莫非时因为端口没有打开?测试下3480端口:
telnet 192.168.56.101 3480,报错telnet: Unable to connect to remote host: Connection refused 。
打开端口试试?
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3480 -j ACCEPT
然而 , 并没有什么用!
直接用浏览器访问,访问正常 。。。心中万马奔腾 。。。curl有坑?。?
直接用浏览器访问,访问正常 。
5、如果不需要端口映射了,可以删除添加的规则
sudo iptables -t nat -vnL PREROUTING --line-number
sudo iptables -t nat -nL --line-number
sudo iptables -t nat -D PREROUTING 1
sudo iptables -t nat -D POSTROUTING 1
6、设置重启后依然有效
参考 《Linux配置SNAT上网》。
有主机A,eth0的IP为内网IP:192.168.56.101,eth1为公网IP:120.77.36.222 。

推荐阅读