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

簡易 NAT 伺服器

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

 
設定網路介面:
我們分別以撥接、 Cable 及固定 IP 為例啦!
 
ADSL撥接制 :
在進入 Linux 並啟動網路卡之後,我們會得到 eth0 這個界面,再加上撥接之後的 ppp0 界面,所以我們就已經會有個兩網路介面,分別是 ppp0, eth0!此外,我預計的私有網域的 IP 選用 192.168.1.0/24 這個 C Class 的網域,其中, Linux NAT 主機的私有 IP 選擇為 192.168.1.2 這一個!
 
第一個網路介面 -- ppp0 -- 的設定:這個東西應該不難吧!就是我們在 連上 Internet 一文裡頭提到的關於 rp-pppoe 的撥接上網方式。
 
實體網路卡 -- eth0 -- 的設定:請注意,假如您要同時使用 ppp0 及 eth0 ,那麼請在撥接之前啟動 eth0 吧!以取得內部的 eth0 這個網路界面的設定!( 註:假如您不知道如何設定的話,那麼就請照我的方式來填寫即可 ): [root@test root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes <==重要的地方在這裡!請設定為 yes 呦!
# 假如您不曉得應該如何設定的話,就照上面的打就好了!
 
Cable 浮動式:
在 Cable 的情況又不太相同了!這個時候只有兩塊網路介面,分別是 eth0, eth0:0 囉!設定為:
 
實體網路卡 -- eth0 -- 的設定:請注意,由於 cable 使用的是 DHCP 主機,所以這個時候請特別留意您底下的設定呦!( 註:假如您不知道如何設定的話,那麼就請照我的方式來填寫即可 ): [root@test root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp <==這裡最重要!
BROADCAST=192.168.100.255
IPADDR=192.168.100.1
NETMASK=255.255.255.0
NETWORK=192.168.100.0
ONBOOT=yes
# 假如您不曉得應該如何設定的話,就照上面的打就好了!
 
虛擬網路介面 --eth0:0 的設定:在 IP Alias 的設定當中,我們已經在 Router 當中說明過多次了!請務必回到該章節再閱讀一次,假如您不記得如何設定的原理的話! [root@test root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
# 假如您不曉得應該如何設定的話,就照上面的打就好了!
 
固定 IP 的情況:
跟 cable 的設定幾乎一模一樣,只有兩個介面,分別是 eth0, eth0:0,需要特別注意的是 eth0 這個東西,您必須要『填寫正確的 IP, netmask, network, broadcast 而且 ONBOOT=yes 才能够!』,而 eth0:0 則與上面相同!
 
啟動私有網域的 IP 網路介面:
啟動之後順便觀察一下路由的資訊! [root@test root]# ifdown eth0
[root@test root]# ifup eth0
[root@test root]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
swks81-1.adsl.s * 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default swks81-1.adsl.s 0.0.0.0 UG 0 0 0 ppp0
# 嘿嘿!這樣就是成功啦!注意,上面這個路由是以 adsl 撥接為例的!
 
設定其他檔案:
還有一些網路的相關檔案要設定呦!/etc/hosts, /etc/resolv.conf, /etc/sysconfig/network,
別忘了我們還有其他的檔案要設定呦!很重要的: 1. 將私有 IP 加入到 /etc/hosts 裡面去吧!
[root@test root]# vi /etc/hosts
127.0.0.1 localhost
192.168.1.1 linux001
192.168.1.2 linux002
.......(略)......
192.168.1.100 linux100
.......(略)......
192.168.1.254 linux254
2. 將 DNS 的 IP 寫到 /etc/resolv.conf 裡面去,這裡以中華電信跟 Seednet 為例
[root@test root]# vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 139.175.10.20

3. 設定主機名稱跟 gateway 與否:
[root@test root]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=your.domain.name <==寫您的主機名稱
GATEWAY= <==除非您是固定制的,不然這個不要填入任何東西!

 
設計 NAT 的 shell scripts :
直接將一些指令寫在 scripts 裡頭執行較快啦!正確的情況之下,现在您的 Linux 主機上面應該是已經能够正常的對外連線的才對!而且內部也已經能够正確的連線成功了才對!假如還沒有成功的話,請趕快再到 區域網路設定 裡頭去查一查資料去!好了,接著下來只要執行一個程式,嘿嘿!就能够將 NAT 啟動喔!這個就好玩了!因為基本上,我們使用的是 iptables 這個東西,自然就需要這個 ip_tables 的模組了!而查看模組與載入模組的指令分別為 lsmod, modprobe 哩!好了,您能够直接在命令提示字元底下進行工作: echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
/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 DROP
/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
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE
還記得我們在簡易防火牆設定裡面有提供一支 script 吧?那支 script 名為 iptables.rule ,該 script 同時能够提供 NAT 的功能喔!完整的 script 請前往該章節觀看,這裡鳥哥僅以 ADSL 撥接的 NAT 主機為例來介紹需要更改的地方: [root@test root]# cd /usr/local/virus/iptables

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