一内网上网
环境说明:
主机A:
1.宿主上网机器
1
2
|
eth0:10.0.0.8 #作为外网地址
eth1:172.16.1.8 #内网地址
|
外网网卡信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@web01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.0.8
NETMASK=255.255.255.0
DNS2=10.0.0.2
GATEWAY=10.0.0.2
DNS1=223.5.5.5
IPV6INIT=no
USERCTL=no
[root@web01 ~]#
内网卡的信息:
[root@web01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
NETMASK=255.255.255.0
TYPE=Ethernet
IPADDR=172.16.1.8
ONBOOT=yes
IPV6INIT=no
USERCTL=no
[root@web01 ~]#
|
主机B:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
需要上网的机器:
没有外网:
内网IP:172.16.1.31 #这个随意
[root@nfs01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
NETMASK=255.255.255.0
TYPE=Ethernet
IPADDR=172.16.1.31
ONBOOT=yes
IPV6INIT=no
USERCTL=no
[root@nfs01 ~]#
|
具体的配置:
1
2
3
4
5
6
7
8
|
主机A:
防火强关闭:
/etc/init.d/iptables stop #关闭防火墙
echo 1 >/proc/sys/net/ipv4/ip_forward #开启内核转发
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.8 #匹配规则
主机B:
echo
"223.5.5.5"
>>/etc/resolv.conf #阿里的DNS比较快一些
route add
default
gw 172.16.1.8
|
两种配置的方式:
1
2
3
4
|
1.适合固定外网的IP
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.8 #匹配规则
2.适合ADSl拨号的IP
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE 伪装
|
二内网web映射让外网访问
A:服务器
1
2
3
4
5
6
7
8
9
10
|
内网服务器:172.16.1.31
[root@nfs01 html]# pwd
/usr/share/nginx/html
[root@nfs01 html]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 2382 root 6u IPv4 32087 0t0 TCP *:http (LISTEN)
nginx 2384 nginx 6u IPv4 32087 0t0 TCP *:http (LISTEN)
[root@nfs01 html]#
[root@nfs01 html]# curl 172.16.1.31
web 172.16.1.31
|
B:服务器
1
2
3
|
外网:10.0.0.8
内网:172.16.1.31
iptables -t nat -A PREROUTING -d 10.0.0.8 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.31:80
|
本文转自 小小三郎1 51CTO博客,原文链接:http://blog.51cto.com/wsxxsl/1829313,如需转载请自行联系原作者