一内网上网
环境说明:
主机A:
1.宿主上网机器
eth0:10.0.0.8 #作为外网地址 eth1:172.16.1.8 #内网地址
外网网卡信息:
[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:
需要上网的机器: 没有外网: 内网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 ~]#
具体的配置:
主机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.适合固定外网的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:服务器
内网服务器: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:服务器
外网: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
转载于:https://blog.51cto.com/wsxxsl/1829313