Centos下NAT转发
来源:互联网 发布:网络直播发展现状 编辑:程序博客网 时间:2024/05/17 07:21
1、修改SSH端口方法
查看系统的版本信息:
# cat /etc/system-release
CentOS release 6.4 (Final)
查看是否安装过SSH软件:
# rpm -qa | grep ssh
用编辑器打开SSH配置文件,增加端口:
# vi /etc/ssh/sshd_config
找到行“#Port 22”(默认端口为22),在其下加一句:
Port 50022 #50000以后的端口,都是没用的
重启SSH服务:
# service sshd restart
修改防火墙,允许访问50022的端口,保存并查看:
# iptables -A INPUT -p tcp --dport 50022 -j ACCEPT
# service iptables save
# cat /etc/sysconfig/iptables
2、端口转发
首先,要打开Linux内核的转发数据包的功能,也就是将/proc/sys/net/ipv4/ip_forward里的值设置为1。
可以这样做:# echo 1 > /proc/sys/net/ipv4/ip_forward
重启网络服务(service network restart)后,该设置失效;想要长久有效,可用如下的方法:
# vi /etc/sysctl.conf#编辑该文件,将其中的如下内容,设置为1
net.ipv4.lp_forward=1
# sysctl -p #让设置,立即生效
然后,就可以用iptables命令设置NAT了。
NAT(Network Address Translation),分为DNAT(Destination)和SNAT(Source)。
DNAT,使用PREROUTING,用于外网访问内网里的主机服务器,透明转发或端口映射。
SNAT,使用POSTROUTING,用于内网里的主机,访问外网,即分享公网IP。
我的例子:
两台服务器(A和B),只有A有公网IP(115.238.54.116),B没有;
它们组建了内网,A的内网IP是192.168.0.2,B的内网IP是192.168.0.3。
服务器A和B,都开启了SSH的服务(默认端口22),我希望能远程控制A和B。
由于A具备外网IP,所以,我可以用SSH终端软件(SecureCRT)直接控制它。
下面,我们看看如何设置,才能远程控制内网服务器B:
首先,需要将B的SSH端口,修改为50022
然后,在A上,设置其NAT(无需对B进行设置,关闭其防火墙即可):
# iptables -t nat -A PREROUTING -p tcp --dport 50022 -j DNAT --to-destination 192.168.0.3
# iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.3 -j SNAT --to-source 192.168.0.2
# service iptables save
说明:这里同时用了DNAT和SNAT;用DNAT时,必须同时用SNAT,否则会无效!
第一句,是将所有发到A的端口为50022的请求,都转发给B。
第二句,是B发给A的请求,都认为是从A的地址上发出的。
第三句,保存配置,重启后也有效。
进行上述配置后,然后,就可以用22端口访问A,用50022端口访问B了!
http://blog.csdn.net/gaojinshan/article/details/37940587
- Centos下NAT转发
- centos 6 NAT 转发
- Linux 下iptables实现NAT转发上网
- Virtual Box NAT下端口转发规则:
- vmware虚拟机NAT模式下的端口转发
- VMware 下的centOS Nat网络配置
- CentOS下NAT模式ping不通
- VirtualBox NAT端口转发
- c# nat udp转发
- LVS NAT转发设置
- Linux NAT转发设定
- FreeBSD虚拟机NAT转发
- iptables 实现nat转发
- centos6 nat路由转发
- Linux(CentOS)下,设置NAT,访问内网服务器
- VMware 虚拟机下 CentOS 通过 NAT 方式上网配置
- CentOs虚拟机NAT模式下静态IP的配置
- virtualbox下CentOS上网设置(NAT+Host-only)
- INSERT FIRST和INSERT ALL
- 【9702】黑白棋的移动
- 会声会影X7安装中的问题
- epoll多线程的例子
- 洛谷 P1631 序列合并
- Centos下NAT转发
- Android 发送HTTP请求出现编码问题
- 设计的艺术
- Matlab问答day5
- MySql(11)------mysql函数大全
- 进程与线程
- 虚函数,纯虚函数,抽象类,点H与点CPP文件的结合
- Coursera 公开课 Functional Programming Principles in Scala习题解
- Java知识点21