比思論壇

標題: Linux下配置NAT服务器共享上网 [打印本頁]

作者: wabb44400    時間: 2013-7-28 17:44
標題: 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 呦!会

    连不出去!





歡迎光臨 比思論壇 (http://108.170.5.98:8080/) Powered by Discuz! X2.5