手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

簡易 NAT 伺服器

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

[root@test iptables]# vi iptables.rule
#!/bin/bash
#...(略)...
# 設定對外的網路介面
EXTIF="ppp0"
# 設定對內的網路介面與內部私有網域的設定
INIF="eth0"
INNET="192.168.1.0/24" # This is for NAT's network
#....(略)....
if [ "$INIF" != "" ]; then
/sbin/iptables -A INPUT -i $INIF -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s $INNET -o $EXTIF -j MASQUERADE
fi
#...(略)...
這支程式當中,只要修改 EXTIF 及 INIF 與內部網域表示方法 (INNET) ,再藉由最後面那一行設定偽裝(MASQUERADE)的功能,呵呵!整個 NAT 连同基本的主機防護就已經 OK 囉!相當的簡單吧!詳細的 iptables.rule 的安裝方法,請往前翻到簡易防火牆設定當中去搞定喔!^_^!假如執行無誤,就能够將這支 script 寫在您的 /etc/rc.d/rc.local 裡面囉!
 
Client 端的設定參數:包含的是網路的設定參數而已!這個等一下我們在用戶端設定當中再講!
 

--------------------------------------------------------------------------------
兩塊網路卡的 NAT 架設:
 
真是的,這個部分的連線架設在 區域網路連線 當中已經提過很多遍了!這裡不再重複的說明!僅列出幾個重要的地方,基本上,跟剛剛一張網路卡的設定方式幾乎完全相同,只是那個 eth0:0 變成了 eth1 而已啦!鳥哥的設定為:
 
eth0 為對內的實體網路卡,具备私有 IP ,其 IP 為 192.168.1.2 。
eth1 為對外的實體網路卡,被用來進行 ADSL 的撥接,所以開機的時候不要設定 on !
 
同樣的,我們的設定方式為:
 
關閉一些系統服務的 port :與前一節相同!
 
實體線路配置圖:與圖一的配置相同。
 
設定網路介面:
重要的地方在安裝第二塊網路卡!安裝網路卡的相關技巧請前往 連上 Internet 參考!不過,對於第二塊網路卡的安裝,在這裡有些建議:基本上,第二張網路卡最好不用使用與第一張相同晶片的卡,例如您第一張卡使用 RTL 8139,那第二張卡最好使用別的卡。因為鳥哥曾經發現,在鳥哥的 RedHat 6.1 英文版中,安裝兩塊相同的 ( 同公司出的 ) RTL8139 ,結果竟然兩張卡的輸出輸入都是經由第一張!也就是說,第二張卡根本就沒有用處!並且,也很容易發生 eth1 與 eth0 捉錯的情況!所以,請記得,『第二張網路卡盡量不要使用與第一張網路卡相同晶片的卡!』當然,您要使用同一個晶片的網路卡也是能够啦!现在我的機器上面就是使用兩塊 RTL8139 的網路卡。不過,在安裝的時候請特別留意,不要同時安插兩塊,最好是一塊安裝完畢之後,再安裝另一塊!會比較好一點啦!安裝的步驟能够是(請注意,我以 ADSL 撥接為例的,其中, eth0 為對內, eth1 為對外,請依照您的設定來修正呢!):
 
關機、硬體安裝:這個不用再提了吧!,先關機,然後拆開外殼,插入PCI網路卡即可;
開機、硬體掃瞄:然後再開機,而於開機的過程中,您的 Linux 會主動去找到這一張網路卡(假如這張卡是有被 Linux 支援的!);
安裝網路卡驅動程式:假如在上一步驟中,您的網路卡並不能被捉到,哪就比較傷腦筋!請到連上 Internet 參考網路卡的驅動程式安裝方法
檢視設定 /etc/sysconfig/network-scripts/ifcfg-eth1:在安裝完了網路卡的驅動程式之後,在 /etc/sysconfig/network-scripts/ 中,應該會有 ifcfg-eth1 這一個檔案。請設定他吧!因為是對外卡,我這裡假設他是利用 ADSL 撥接的,所以能够是這樣: [root@test root]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.2
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=no <==這裡很重要!對外用來撥接的卡不要在開機的時候啟動啦!
 
這樣就成功囉!很簡單吧! ^_^""
 
設定其他檔案:
其他一些網路的相關檔案也要設定!亦即/etc/hosts, /etc/resolv.conf, /etc/sysconfig/network,設定的方式跟前一小節相同!
 
設計 NAT 的 shell scripts :
基本上,設定的方式跟上面也是一模一樣的啦!您依舊能够僅使用前一小節的 script 來進行 NAT 的設定,只是要注意那個粗體字部分的設定,假如您跟我的情況不同,那麼就需要修改一下啦!趕快 下載 script 吧!
 

--------------------------------------------------------------------------------
觀察路由資訊:
 
在整個 NAT 的設定當中,最經典的錯誤連線訊息來自於 路由資訊 的錯誤啦!這個在我們的 連上 Internet 及 網路偵測 文章當中已經說明過了,不過,我們這裡再次提醒一下!免得您又犯了同樣的錯誤了!由於網路在進行連接的時候,都會指定所謂的 router 或是 gateway 的設定,除非是來自於廣播的網域之連線。而我們在設定網路時,常常會犯了一個錯誤,那就是指定錯了 Gateway 了!請您參考一下連上 Internet 一文的設定方式,在 ADSL 撥接及 Cable 連線時,請『務必』不要設定 gateway 才好!
 
再來,請常下達 route 的指令來觀察一下您的 linux 主機的路由設定是否正確呦!

--------------------------------------------------------------------------------
客戶端的設定:
在 Client 端的設定真是簡單的能够了!由於我們上面的網域設定的是 192.168.1.0/24 這個 C Class 的私有網域,所以您只要記得幾件事情:
network 設定需要為: 192.168.1.0
broadcast 設定需要為: 192.168.1.255
netmask 設定需要為 255.255.255.0
IP 設定需要為 192.168.1.1 ~ 192.168.1.254 之一,且『不能重複』
Gateway 或說是 通訊閘 需要設定為您的 Linux 的對內 IP ,以我的例子來說,就是 192.168.1.2 !
DNS 的設定:這個最容易出錯了,您的 DNS 設定需要是您的 ISP 給您的 DNS IP,假如您不知道的話,能够填入 168.95.1.1 這一個中華電信的 DNS 或是 139.175.10.20 這一個 SeedNet 的 DNS 即可!千萬不要設定為 192.168.1.2 呦!會連不出去!

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!