CentOS5.1網(wǎng)關(guān)路由設(shè)置
最近一段時間為一個項(xiàng)目做項(xiàng)目實(shí)施,其中涉及到了使用CentOS5.1操作系統(tǒng)假設(shè)一臺網(wǎng)關(guān)服務(wù)器的問題,要通過其實(shí)現(xiàn)外網(wǎng)計算機(jī)訪問不到內(nèi)網(wǎng)的主機(jī),內(nèi)網(wǎng)中僅指定的主機(jī)才可以訪問外網(wǎng)的功能,經(jīng)過一番測試之后終于能夠?qū)崿F(xiàn)了,現(xiàn)在將實(shí)現(xiàn)的過程記錄下來,以備今后的不時之需。一、所需軟件:安裝了自帶的iptables防火墻的CentOS5.1操作系統(tǒng)
二、前提準(zhǔn)備:
1.進(jìn)行網(wǎng)關(guān)的相關(guān)配置,為了方便起見,使用root用戶登錄到系統(tǒng)中;
2.首先對網(wǎng)關(guān)服務(wù)器的兩塊網(wǎng)卡進(jìn)行網(wǎng)絡(luò)設(shè)置,其中內(nèi)網(wǎng)網(wǎng)卡設(shè)置的時候網(wǎng)關(guān)的地址空白,設(shè)置好之后檢查一下網(wǎng)關(guān)服務(wù)器是否能夠上外網(wǎng),以及與內(nèi)網(wǎng)是否已經(jīng)聯(lián)通。均聯(lián)通之后將內(nèi)網(wǎng)網(wǎng)卡和外網(wǎng)網(wǎng)卡的設(shè)備號分別記錄下來。(在本例中,內(nèi)網(wǎng)網(wǎng)卡設(shè)備號為eth1、外網(wǎng)網(wǎng)卡設(shè)備號為eth0)
3.要實(shí)現(xiàn)內(nèi)網(wǎng)主機(jī)可以通過網(wǎng)關(guān)服務(wù)器上外網(wǎng)的功能,需要將網(wǎng)關(guān)操作系統(tǒng)中的數(shù)據(jù)包轉(zhuǎn)發(fā)功能開啟,可以通過sysctl -A命令查看當(dāng)前內(nèi)核參數(shù)設(shè)置,找到其中net.ipv4.ip_forward項(xiàng)查看其對應(yīng)的參數(shù)值(0表示未開啟,1表示開啟)
4.如果在上一項(xiàng)中發(fā)現(xiàn)的參數(shù)值為0,則需要將內(nèi)核的數(shù)據(jù)包轉(zhuǎn)發(fā)功能開啟,具體實(shí)現(xiàn)方式為:
輸入vi /etc/sysctl.conf命令打開配置文件,找到其中net.ipv4.ip_forward所在的行,將"="后面的數(shù)值由0更改為1,之后將文件保存后退出vi編輯器。
5.將配置文件修改完成后,可以使用sysctl -p /etc/sysctl.conf命令或?qū)⒉僮飨到y(tǒng)重新啟動,以使參數(shù)生效。此時準(zhǔn)備工作已經(jīng)完成,接下來對防火墻的規(guī)則進(jìn)行配置即可。
三、ipables規(guī)則設(shè)置:
1.此例中使用CentOS自帶的功能強(qiáng)大的iptables防火墻來實(shí)現(xiàn)上述的要求,此時需要對iptables的規(guī)則進(jìn)行設(shè)置,運(yùn)行vi /etc/sysconfig/iptables命令,打開規(guī)則配置文件,按照下面給出的配置文件模板進(jìn)行設(shè)置:
1 # Firewall configuration written by system-config-securitylevel
2 # Manual customization of this file is not recommended.
3 *filter
4 :FORWARD ACCEPT [0:0]
5 :INPUT ACCEPT [0:0]
6 :RH-Firewall-1-INPUT - [0:0]
7 :OUTPUT ACCEPT [0:0]
8 -A INPUT -i eth1 -j ACCEPT //此處的eth1按實(shí)際更改為內(nèi)網(wǎng)設(shè)備號
9 -A INPUT -j RH-Firewall-1-INPUT
10 -A FORWARD -j RH-Firewall-1-INPUT
11 -A RH-Firewall-1-INPUT -i lo -j ACCEPT
12 -A RH-Firewall-1-INPUT -i eth1 -j ACCEPT //此處的eth1按實(shí)際更改為內(nèi)網(wǎng)設(shè)備號
13 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
14 -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
15 -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
16 -A RH-Firewall-1-INPUT -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT
17 -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
18 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
19 -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
20 -A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT
21 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
22 COMMIT
23 *nat
24 :PREROUTING ACCEPT [0:0]
25 :POSTROUTING ACCEPT [0:0]
26 :OUTPUT ACCEPT [0:0]
27 -A POSTROUTING -s 192.168.1.1 -o eth0 -j MASQUERADE //此處為轉(zhuǎn)發(fā)規(guī)則設(shè)置,增加訪問外網(wǎng)復(fù)制此行即可
28 //上述中ip地址要按實(shí)際設(shè)置為允許訪問外網(wǎng)機(jī)器的ip地址,eth0也要按實(shí)際更改為外網(wǎng)設(shè)備號
29 COMMIT
30 # Completed
2.編輯好規(guī)則配置文件后,保存并退出vi編輯器。2 # Manual customization of this file is not recommended.
3 *filter
4 :FORWARD ACCEPT [0:0]
5 :INPUT ACCEPT [0:0]
6 :RH-Firewall-1-INPUT - [0:0]
7 :OUTPUT ACCEPT [0:0]
8 -A INPUT -i eth1 -j ACCEPT //此處的eth1按實(shí)際更改為內(nèi)網(wǎng)設(shè)備號
9 -A INPUT -j RH-Firewall-1-INPUT
10 -A FORWARD -j RH-Firewall-1-INPUT
11 -A RH-Firewall-1-INPUT -i lo -j ACCEPT
12 -A RH-Firewall-1-INPUT -i eth1 -j ACCEPT //此處的eth1按實(shí)際更改為內(nèi)網(wǎng)設(shè)備號
13 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
14 -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
15 -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
16 -A RH-Firewall-1-INPUT -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT
17 -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
18 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
19 -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
20 -A RH-Firewall-1-INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT
21 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
22 COMMIT
23 *nat
24 :PREROUTING ACCEPT [0:0]
25 :POSTROUTING ACCEPT [0:0]
26 :OUTPUT ACCEPT [0:0]
27 -A POSTROUTING -s 192.168.1.1 -o eth0 -j MASQUERADE //此處為轉(zhuǎn)發(fā)規(guī)則設(shè)置,增加訪問外網(wǎng)復(fù)制此行即可
28 //上述中ip地址要按實(shí)際設(shè)置為允許訪問外網(wǎng)機(jī)器的ip地址,eth0也要按實(shí)際更改為外網(wǎng)設(shè)備號
29 COMMIT
30 # Completed
3.只有運(yùn)行service iptables status查看系統(tǒng)當(dāng)前iptables服務(wù)的狀態(tài)。如果為stop,則使用service iptables start命令將其開啟即可;如果為Start,則使用service iptables restart命令將其重新啟動以使新的規(guī)則設(shè)置生效。
4.此時即可實(shí)現(xiàn)網(wǎng)關(guān)服務(wù)器的設(shè)置,可以到那臺允許訪問外網(wǎng)的主機(jī)上訪問一下外網(wǎng)以檢測設(shè)置是否正確。
posted on 2008-12-05 15:44 會飛的豬 閱讀(2914) 評論(0) 編輯 收藏 所屬分類: Linux操作系統(tǒng)