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 呦!会 
    连不出去! 
 

相关内容

    暂无相关文章