Linux下配置NAT服务器共享上网

<< Linux下配置NAT服务器共享上网 >>
content:
    0.  本次配置的网络的拓扑结构:
    1.  配置IP地址
    .   1.1 正确配置学校分配的IP使能正常上网
    .   1.2 新增eth0别名设备eth0:0
    .   1.3 配置后 查看一下是否配置成功:
    2.  配置路由
    3.  配置NAT
    4.  大功告成
    5.  配置客户机 (可以是windows或linux等其它系统)


0. 本次配置的网络的拓扑结构:
#
#             |
#             |
#     ========+===============
#             |10.3.10.0/24
#             |
#             |
#             |10.3.10.19
#        +----+----+            +-------+        +-------+
#        |         |            |       |        |       |
#        | linux   |            | win1  |        | win2  |
#        | (NAT)   |            |       |        |       |
#        +----+----+            +---+---+        +---+---+
#             |192.168.50.1         |192.168.50.2    |192.168.50.3
#             |                     |                |
#             |                     |                |
#             |                     |                |
#   ==========+=====================+================+============
#                    192.168.50.0/24
#
#


1. 配置IP地址
1.1 正确配置学校分配的IP使能正常上网
1)   按学校分配的IP地址配置好Linux主机
[~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
|  DEVICE=eth0               |
|  BOOTPROTO=none            |
|  HWADDR=00:1E:90:13:E0:25  |
|  IPADDR=10.3.10.19         |
|  NETMASK=255.255.255.0     |
|  GATEWAY=10.3.10.254       |
|  ONBOOT=yes                |
|  TYPE=Ethernet             |
|  DNS1=211.64.120.2         |
|  DEFROUTE=yes              |
|  DOMAIN=168.96.1.1         |

2)   重起网卡
[~]# servie network restart

note : 经过以上的配置, Linux主机应该能够正常上网了!

1.2 新增eth0别名设备eth0:0
[~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
|  # eth0:0 必须要用''括起来: 'eth0:0'  |
|  DEVICE='eth0:0'                             |
|  ONBOOT=yes                                  |
|  BOOTPROTO=static                            |
|  IPADDR=192.168.50.1                         |
|  NETMASK=255.255.255.0                       |
|  USERCTL=no                                  |



1.3 配置后 查看一下是否配置成功:
[~]# ifconfig
|  eth0      Link encap:Ethernet  HWaddr 00:1E:90:13:E0:25                      |
|            inet addr:10.3.10.19  Bcast:10.3.10.255  Mask:255.255.255.0        |
|            inet6 addr: fe80::21e:90ff:fe13:e025/64 Scope:Link                 |
|            UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1         |
|            RX packets:187685 errors:0 dropped:0 overruns:0 frame:0            |
|            TX packets:137327 errors:0 dropped:0 overruns:0 carrier:0          |
|            collisions:0 txqueuelen:1000                                       |
|            RX bytes:134816893 (128.5 MiB)  TX bytes:56066393 (53.4 MiB)       |
|            Interrupt:27 Base address:0xa000                                   |

|  eth0:0    Link encap:Ethernet  HWaddr 00:1E:90:13:E0:25                      |
|            inet addr:192.168.50.1   Bcast:192.168.50.255  Mask:255.255.255.0  |
|            UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1         |
|            Interrupt:27 Base address:0xa000                                   |

2. 配置路由
由于在配置网卡接口时, 已自动配置一定的路由, 所以我们只需查看一下其信息, 验证其
是否已经被正确配置:
[root ~]$ route
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 192.168.50.0    *               255.255.255.0   U     0      0        0 eth0
 10.3.10.0       *               255.255.255.0   U     1      0        0 eth0
 link-local      *               255.255.0.0     U     1002   0        0 eth0
 default         10.3.10.254     0.0.0.0         UG    0      0        0 eth0


3. 配置NAT
1)   新建nat.sh脚本文件并保存在 /usr/local/nat/ 目录下:
[~]# cat /usr/local/nat/nat.sh
|  #!/bin/bash                                                            |

|  # 0. 设定你的参数值                                             |
|  EXIF='eth0'           # 这个是对外的网卡接口, 可能是'ppp0'等      |
|  EXNET='192.168.50.0/24'       # 这个是对内的网段                     |

|  # 底下如无需要, 请不要改动了!                              |
|  # 1. 启动routing等                                                  |
|  echo 1 > /proc/sys/net/ipv4/ip_forward                               |
|  /sbin/iptables -F                                                      |
|  /sbin/iptables -X                                                      |
|  /sbin/iptables -Z                                                      |
|  /sbin/iptables -F -t nat                                               |
|  /sbin/iptables -X -t nat                                               |
|  /sbin/iptables -Z -t nat                                               |
|  /sbin/iptables -P INPUT   ACCEPT                                       |
|  /sbin/iptables -P OUTPUT  ACCEPT                                       |
|  /sbin/iptables -P FORWARD ACCEPT                                       |
|  /sbin/iptables -t nat -P PREROUTING   ACCEPT                             |
|  /sbin/iptables -t nat -P POSTROUTING  ACCEPT                            |
|  /sbin/iptables -t nat -P OUTPUT       ACCEPT                                 |

|  # 2. 载入模组                                                      |
|  /sbin/modprobe ip_tables 2> /dev/null                                  |
|  /sbin/modprobe ip_nat_ftp 2> /dev/null                                 |
|  /sbin/modprobe ip_nat_irc 2> /dev/null                                 |
|  /sbin/modprobe ip_conntrack 2> /dev/null                               |
|  /sbin/modprobe ip_conntrack_ftp 2> /dev/null                           |
|  /sbin/modprobe ip_conntrack_irc 2> /dev/null                           |

|  # 3. 启动ip伪装                                                    |
|  /sbin/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE  |

2)   增加可执行权限
[~]# chmod +x /usr/local/nat/nat.sh

4. 大功告成
1)   Linux主机配置完成, 现在只需重新启动一下刚才的配置:
[~]# servie network restart
[~]# /usr/local/nat/nat.sh

2)   为了使得开机即可运行, 可在 /etc/rc.d/rc.local 文件加入相应的命令:
[~]# echo "/usr/local/nat/nat.sh" >> /etc/rc.d/rc.local

5. 配置客户机(可以是windows或linux等其它系统)
    1.  network 设定需要为:  192.168.50.0

    2.  broadcast 设定需要为:  192.168.50.255

    3.  netmask 设定需要为 255.255.255.0

    4.  IP 设定需要为 192.168.50.1 ~ 192.168.50.254 之一, 且『不能重复』

    5.  Gateway 或者要设定为你的 Linux 的对内 IP , 以我的例子来说, 就是
    192.168.50.1

    6.  DNS 的设定: 这个最容易出错了, 你的 DNS 设定需要是你的 ISP 给你的 DNS
    IP, 如果你不知道的话, 可以填入 168.95.1.1 这一个中华电信的 DNS 或者是
    139.175.10.20 这一个 SeedNet 的 DNS 即可!千万不要设定为 192.168.1.2 呦!会
    连不出去!


see also:
http://www.chinaitlab.com/www/special/linux11.asp#7

你可能感兴趣的:(linux,NAT)