码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2016-08-04 19:45:34      阅读:318      评论:0      收藏:0      [点我收藏+]

标签: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

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

 

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

[root@nat-c ~]# 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
 
[root@nat-c ~]# tail -3/etc/sysconfig/network-scripts/ifcfg-eth1   #验证
GATEWAY=172.16.1.41
DNS1=8.8.8.8
DNS2=114.114.114.114
 
[root@nat-c ~]# ifdown eth0       #先把其它的网卡暂时关闭
[root@nat-c ~]# ifdown eth1 && ifup eth1 #使eth1配置生效,多执行几次这条命令!
[oldboy@nat-c ~]$ route -n        #查看网关

[oldboy@nat-c ~]$ 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

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

技术分享

本文出自 “陈发哥007” 博客,请务必保留此出处http://chenfage.blog.51cto.com/8804946/1834349

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

标签:linux nat

原文地址:http://chenfage.blog.51cto.com/8804946/1834349

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!