首頁 > 其他

Linux平台伺服器搭建:[1]NAT伺服器

2019-12-18 05:59:39

     CentOS(Community Enterprise  Operating System,中文意思是:社群企業作業系統)是Linux發行版之一,它是來自於Red Hat Enterprise Linux依照開放原始碼規定釋出的原始碼所編譯而成。由於出自同樣的原始碼,因此有些要求高度穩定性的伺服器以CentOS替代商業版的Red Hat Enterprise Linux使用。兩者的不同,在於CentOS並不包含封閉原始碼軟體。

      NAT英文全稱是「Network Address Translation」,中文意思是「網路地址轉換」,它是一個IETF(Internet Engineering Task Force, Internet工程任務組)標準,允許一個整體機構以一個公用IP(Internet Protocol)地址出現在Internet上。顧名思義,它是一種把內部私有網路地址(IP地址)翻譯成合法網路IP地址的技術。

利用NAT 破解多網絡卡共用上網

1

第一步  在一台電腦上安裝linux本文安裝的是centos5.4 在安裝時選擇安裝GCC,NAT等一系列伺服器軟體。

安裝Linux的硬體要求如下。CPU:Pentium以上處理器。記憶體:至少128MB,推薦使用256MB以上的記憶體。硬碟:至少需要1GB以上的硬碟空間,完全安裝需大約5GB的硬碟空間。顯示卡:VGA相容顯示卡。光碟機:CD-ROM/DVD-ROM。其他裝置:如音效卡、網絡卡和Modem等。軟碟機:可選。

我們選擇基於河南財經政法大學的校園網 PPPO的銳捷認證上網方法,實現本地網絡卡eth0的上網,具體可參考本作者經驗的    <<Linux平台銳捷認證用戶端聯網方法 >>

如下圖


2

第二步     在電腦中安裝第二塊網絡卡,我選用的是TP-LINKTF-3239D 它的晶片是      Realtek RTL8139D這個晶片可以實現PNP支援Novell NetWare3.x、4.x 5.x,Microsoft WFW 3.11Windows 95Windows 98Windows 2000Windows NTWindows MeWindows XP,LAN Manager NDIS,Linux,SCO Unix,FTP PC/TCP,Sun PC-NFS,OS/2 ODI系統已經直接寫入核心 方便我們不用再重新安裝網絡卡驅動。網絡卡直接插入PCI就可以,而後在開啟終端視窗輸入  #ifconfig -a

如下圖:


3

內容如下,注意eth1為我們的內網網絡卡也就是用於nat服務實現內網通訊的網絡卡,[root@localhost~]# ifconfig -aeth0 ? ? Link encap:Ethernet ?HWaddr 44:37:E6:0B:9F:E7 ?inetaddr:211.67.134.167 ?Bcast:211.67.134.255 ?Mask:255.255.255.0?inet6addr: fe80::4637:e6ff:fe0b:9fe7/64 Scope:LinkUPBROADCAST RUNNING MULTICAST ?MTU:1500 ?Metric:1?RXpackets:82557
errors:0 dropped:0 overruns:0 frame:0TXpackets:30057 errors:0 dropped:0 overruns:0 carrier:0?collisions:0txqueuelen:1000RXbytes:27413884 (26.1 MiB) ?TX bytes:4220155 (4.0 MiB)Interrupt:177eth1 ? ? Link encap:Ethernet ?HWaddr 00:E0:09:06:59:4F ?inet6addr: fe80::2e0:9ff:fe06:594f/64 Scope:LinkUPBROADCAST RUNNING MULTICAST ?MTU:1500 ?Metric:1RXpackets:8512 errors:0 dropped:0 overruns:0 frame:0TXpackets:9039 errors:0 dropped:0 overruns:0 carrier:0collisions:0txqueuelen:1000RXbytes:887659 (866.8 KiB) ?TX bytes:7639955 (7.2 MiB)?Interrupt:50Base address:0x8c00lo ? ? ? Link encap:Local Loopback ?inetaddr:127.0.0.1 ?Mask:255.0.0.0inet6addr: ::1/128 Scope:HostUPLOOPBACK RUNNING ?MTU:16436 ?Metric:1RXpackets:1813 errors:0 dropped:0 overruns:0 frame:0TXpackets:1813 errors:0 dropped:0 overruns:0 carrier:0?collisions:0txqueuelen:0RXbytes:3351593 (3.1 MiB) ?TX bytes:3351593 (3.1 MiB)sit0 ? ? Link encap:IPv6-in-IPv4 ??NOARP MTU:1480 ?Metric:1RXpackets:0 errors:0 dropped:0 overruns:0 frame:0TXpackets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0txqueuelen:RXbytes:0 (0.0 b) ?TX bytes:0 (0.0 b)[root@localhost~]#這樣說明新安裝的網絡卡已經被LINXU伺服器識別了,接下來我們就要設定NAT伺服器了
s:0txqueuelen:1000RXbytes:27413884 (26.1 MiB) ?TX bytes:4220155 (4.0 MiB)Interrupt:177eth1 ? ? Link encap:Ethernet ?HWaddr 00:E0:09:06:59:4F ?inet6addr: fe80::2e0:9ff:fe06:594f/64 Scope:LinkUPBROADCAST RUNNING MULTICAST ?MTU:1500 ?Metric:1RXpackets:8512 errors:0 dropped:0 overruns:0 frame:0TXpackets:9039 errors:0 dropped:0 overruns:0 carrier:0collisions:0txqueuelen:1000RXbytes:887659 (866.8 KiB) ?TX bytes:7639955 (7.2 MiB)?Interrupt:50Base address:0x8c00lo ? ? ? Link encap:Local Loopback ?inetaddr:127.0.0.1 ?Mask:255.0.0.0inet6addr: ::1/128 Scope:HostUPLOOPBACK RUNNING ?MTU:16436 ?Metric:1RXpackets:1813 errors:0 dropped:0 overruns:0 frame:0TXpackets:1813 errors:0 dropped:0 overruns:0 carrier:0?collisions:0txqueuelen:0RXbytes:3351593 (3.1 MiB) ?TX bytes:3351593 (3.1 MiB)sit0 ? ? Link encap:IPv6-in-IPv4 ??NOARP MTU:1480 ?Metric:1RXpackets:0 errors:0 dropped:0 overruns:0 frame:0TXpackets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0txqueuelen:RXbytes:0 (0.0 b) ?TX bytes:0 (0.0 b)[root@localhost~]#這樣說明新安裝的網絡卡已經被LINXU伺服器識別了,接下來我們就要設定NAT伺服器了

4

第三步設定NAT伺服器了

第1步執行 #touch/etc/rc.d/snat命令,生成空的指令碼檔案

第2步執行 #chmod +x /etc/rc.d/snat命令,使該檔案可執行

第3步編輯snat 檔案

#!/bin/sh

INTE_IF='ppp0'

LAN_IF='eth1'

LAN_IP_RANGE='192.168.0.0/24'

IPT='/sbin/iptables'

MODPROBE='/sbin/modprobe'

echo"1" > /proc/sys/net/ipv4/ip_forward

/sbin/depmod-a

modprobeip_tables

modprobeip_conntrack

modprobeip_conntrack_ftp

modprobeiptable_nat

modprobeip_nat_ftp

modprobeipt_LOG

modprobeip_conntrack_irc

forTABLE in filter nat mangle; do

$IPT-t $TABLE -F

$IPT-t $TABLE -X

done

$IPT-P INPUT ACCEPT

$IPT-P OUTPUT ACCEPT

$IPT-P FORWARD ACCEPT

$IPT-P nat -p PREROUTING ACCEPT

$IPT-P nat -p OUTPUT ACCEPT

$IPT-P nat -p POSTROUTING ACCEPT

$IPT-A FORWARD -i $INTE_IF -o $LAN_IF -m state --ESTABLEISHED,RELATED -jACCEPT

$IPT-A FORWARD -i $INTE_IF -o $INTE_IF  -j ACCEPT

/sbin/iptables-t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

注意:-o eth0為NAT轉發的目的網絡卡

編輯後如下圖:


5

第4步設定網絡卡eth1

輸入命令gedit/etc/sysconfig/network-scripts/ifcfg-eth1

編輯如下內容:

#Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+

DEVICE=eth1

BOOTPROTO=static

IPADDR=192.168.0.1

NETMASK=255.255.255.0

ONBOOT=yes

HWADDR=00:e0:09:06:59:4f

編輯後如下圖:


6

第5步儲存檔案,執行#./snat如果想要系統自動執行可以執行#echo"/etc/rc.d/snat">>/etc/rc.d/rc.local

7

第5步執行 #less /etc/resolv.conf命令從這一步我們知道了伺服器的DNS為211.67.128.1

 為我們設定用戶端做準備。

;generated by /sbin/dhclient-script

nameserver202.102.227.68

nameserver211.67.128.1

/etc/resolv.conf(END)

如下圖:

8

第三步設定用戶端

我們這裡的用戶端為windows7開啟它的本地連線設定他的網路引數

點開網路設定選單如下圖:


9

點選本地連線如下圖:

點選屬性如下圖:



10

設定IP為192.168.0.2閘道器為NAT伺服器的內網網絡卡的IP DNS為我們上步執行#less/etc/resolv.conf命令 看到的伺服器的DNS為211.67.128.1


11

第四步測試客戶機上網

我們按windows+R  開啟執行視窗如下圖並輸入CMD


12

點選確定開啟DOS視窗,如下圖


13

輸入ping192.168.0.1  如下圖


14

MicrosoftWindows [版本 6.1.7600]

版權所有(c)2009 Microsoft Corporation。保留所有權利。

C:UsersAdministrator>ping192.168.0.1

正在Ping192.168.0.1 具有 32位元組的資料:

來自192.168.0.1的回復:位元組=32時間<1msTTL=64

來自192.168.0.1的回復:位元組=32時間<1msTTL=64

來自192.168.0.1的回復:位元組=32時間<1msTTL=64

來自192.168.0.1的回復:位元組=32時間<1msTTL=64

192.168.0.1的 Ping統計資訊:

   封包:已傳送 =4,已接收 =4,丟失 =0 (0% 丟失),

往返行程的估計時間(以毫秒為單位):

   最短=0ms,最長 =0ms,平均 =0ms

C:UsersAdministrator>

說明我們和NAT伺服器已經PING通了然後我們在pingwww.baidu.com和 www.sohu.com如下圖


15

開啟瀏覽器輸入 www.baidu.com開啟網頁 說明我們可以完美的上網了如下圖


16

輸入http://hi.baidu.com/yedeqixian開啟作者的百度個人空間主網頁,我們的測試基本完美成功,如下圖

PS:其實這個經驗也說明了  LINUX平台諸如銳捷 dr.com等 認證上網方式 根本就沒有多網絡卡共用上網的限制,我們可以輕鬆的通過多WINDOWS平台的多網絡卡限制,如果我們nat伺服器的內網口上接的是無線路由器 就可以很輕鬆的實現寢室一個帳號多台電腦和行動終端共用上網 就可以用WIFI了  其實 刷路由的OPENWRT 等 同樣是這個原理 不過是把路由器當做了這個nat伺服器  用它認證上網   如有需要可像我的個人空間留言 以交流 結文!



IT145.com E-mail:sddin#qq.com