Linux NAT服务--使内网服务器能上网

第1章 NAT使内网主机能上外网

1.1 环境

主机名 服务器/端  外网IP     内网IP

nat-s  Server    10.0.0.41   172.16.1.41

nat-c  Client    -         72.16.1.31

1.2 配置(服务端)

1.2.1在nat-s上设置iptables规则

匹配内网172.16.1.0/24网段的IP,想上外网,可以全部把数据包丢给10.0.0.41这个地址。

iptables -t nat -A POSTROUTING -s172.16.1.0/255.255.255.0 -j SNAT --to 10.0.0.41

1.2.2打开内核转发

(1)     首先查看是否已经打开,如果值为1,则说明已经打开

(2)     否则需要修改配置文件 /etc/sysctl.conf,找到该参数,使其变为:net.ipv4.ip_forward = 1

(3)     然后运行:sysctl -p

[[email protected] ~]# sysctl -a |grep ‘net.ipv4.ip_forward‘ #<==查看内核转发是否打开
net.ipv4.ip_forward = 0 #<==0代表关闭,1代表打开
 
[[email protected] ~]# sed -i ‘s#net.ipv4.ip_forward =0#net.ipv4.ip_forward = 1#g‘ /etc/sysctl.conf 
#<==sed命令一键修改
 
[[email protected] ~]# sysctl -p #<==使内核参数生效
[[email protected] ~]# sysctl -a |grep‘net.ipv4.ip_forward‘ #<==再次验证
net.ipv4.ip_forward = 1

1.3 配置网关和DNS(客户端)

[[email protected] ~]# cat>>/etc/sysconfig/network-scripts/ifcfg-eth1<<EOF #网关与DNS
> GATEWAY=172.16.1.41
> DNS1=8.8.8.8
> DNS2=114.114.114.114
> EOF
 
[[email protected] ~]# tail -3/etc/sysconfig/network-scripts/ifcfg-eth1   #验证
GATEWAY=172.16.1.41
DNS1=8.8.8.8
DNS2=114.114.114.114
 
[[email protected] ~]# ifdown eth0       #先把其它的网卡暂时关闭
[[email protected] ~]# ifdown eth1 && ifup eth1 #使eth1配置生效,多执行几次这条命令!
[[email protected] ~]$ route -n        #查看网关

[[email protected] ~]$ cat /etc/resolv.conf  #查看DNS
nameserver 114.114.114.114
nameserver 8.8.8.8

1.4 验证(客户端)

1.4.1ping

能ping通谷哥服务器的地址,说明能上网!

1.1.1traceroute

用traceroute命令可以看到数据包转发的过程,想出外网,必须找网关,网关再把数据包丢给外网卡,外网卡就能帮我们出外网了。

1.1.1nslookup

能正常解析域名,说明能正常打开网页!

时间: 2024-10-12 04:02:59

Linux NAT服务--使内网服务器能上网的相关文章

openvpn连接后与服务端内网服务器连接

客户端连接vpn服务端后会获取一个10.8.0.x的地址,而openvpn服务器上面有一个10.8.0.1的地址,此时客户端就能连接服务端了.如果配置文件内没有配置"push "route xx.xx.oo.oo 255.255.255.0""这条,客户端不能通过服务器内网连接服务器,在配置文件中添加此条文件即可.xx.xx.oo.oo为服务器内网网段. 如果想要和同在一个网段的其他服务器通信,有三种方法.1.在需要访问的服务器上面添加一条到10.8.0.0的静态路

sockets+proxychains代理,使内网服务器可以访问外网

Socks5+proxychains做正向代理 1.         应用场景: 有一台能上外网的机子,内网机子都不能连外网,需求是内网机子程序需要访问外网,做正向代理. 2.         软件 Server端:   Client端:       3.SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全.SOCKS5 服务器通过将前端发来的请求转发给真正的目标服

内网主机通过外网地址访问内网服务器

网关设备一般都具有NAT功能,分别为源地址NAT.目标地址NAT,这两种功能应用比较普遍,各厂商都有很标准的实现方式.但是对于"内网主机通过外网地址访问内网服务器"这一场景,各厂商的实现不通,下面就这个场景,分别说一下各厂商的实现.1.华为2.华三内网用户通过NAT地址访问内网服务器1组网需求 · 某公司内部网络中有一台FTP服务器,地址为192.168.1.4/24. · 该公司拥有两个外网IP地址:202.38.1.1和202.38.1.2. 需要实现如下功能: · 外网主机可以通

linux外网服务器跳转内网服务器实现内网访问(iptables)

服务器信息如下 外网服务器:eth0:公网IP eth1:内网IP(192.168.10.205) 公网对外提供服务,内网IP与内部局域网通信. 配置过程: (1)开启iptables service iptables restart   (临时开启) chkconfig  iptables on    (永久开启) (2)配置iptables          (2-1)配置filter选项,使得IP和PORT可以通过防火墙 注意:在filter选项下配置 例如:#18081(tomcat-O

用静态NAT实现外网PC访问内网服务器

在我们的生产环境中常常处于安全考虑将服务器置于内网环境中,但同时得向外网提供各种服务功能,此时就需要用到NAT技术.下面是我用思科的仿真软件搭建的一个实验环境,实现外网PC访问内网服务器. 先说明一下实验环境: 路由器R0左边为内网环境,右边为外网环境,内网服务器IP地址为192.168.1.2,网关为R0接口地址192.168.1.1,外网PC机IP地址为211.211.211.2,网关为路由器R1接口地址211.211.211.1,现在要求实现外网PC访问内网服务器. 数据配置如下: 路由器

CentOS设置iptables使内网通过NAT上网

http://www.pxue.com/Html/1261.html 需启用ip转发 vi /etc/sysctl.conf net.ipv4.ip_forward = 1 如果主机未启用防火墙,下面一条iptables语句就可设置nat内网共享上网: Code: iptables -t nat -A POSTROUTING -s 192.168.122.0/24 -o eth0 -j MASQUERADE -s 表示源网络,即内网地址:-o 为连接因特网的接口 如果主机上启用了防火墙,需加上下

【干货】ECS服务器OPENVPN搭建,方便管理所有内网服务器

[干货]ECS服务器OPENVPN搭建,方便管理所有内网服务器 使用场景 一台有外网的ECS服务器+N台无外网的ECS服务器,使用OPENVPN管理全部的ECS服务器(包括无外网的ECS服务器). 鉴于ECS服务器的带宽成本比较高的问题,撸主采用的是SLB(外网,据说最近计费方式变多了)+N台ECS服务器集群(包括一台2M外网ECS)+内网RDS服务来提供线上服务,但是客服沟通过得到的答案是只能在控制台用VNC来管理(客服MM确认可以自行搭建VPN来管理),对于熟悉习惯使用SSH的人来说使用管理

centos6.5 Open×××服务搭建部署,访问内网服务器

centos6.5 Open×××服务搭建部署,访问内网服务器 1 简介 ×××(Virtual Private Network)直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道. ? ? Open×××无疑是Linux下开源×××的先锋,提供了良好的性能和友好的用户GUI.该软件最早由James Yonan编写.Open×××允许参与建立×××的单点使用预设的私钥,第三方证书,或者用户名/密码来进行身份验证.它大量使用了OpenSSL加密库,以及SSLv3/TLSv1

利用NAT&acl使得内网可以访问isp

实验目的:使拓扑图中的内网pc可以访问外网 实验要求:内网网段是192.168.1.0/24 公司所购买公网ip是100.1.1.1 /24 ISP的一个路由器两个端口ip分别是100.1.1.2/24 200.1.1.254/24 ISP服务器ip 200.1.1.1/24 实验步骤: 1 给所有终端设备配上IP地址(切忌配上网关) 2 给路由器端口配ip 公司路由器: Router(config)# hostname COMPgw COMPgw(config)# inter g0/0 COM