我的linux架nat,內部的電腦不能連上外面的ftp 為什摸呢?



贊助商連結


頁 : [1] 2

bigmichael
2003-02-23, 11:09 PM
所有的服務如收發mail上網均正常,但就是連不上別人的ftp,輸入帳號及密碼之後,試過十幾個站台都一樣連不上去進why why!

我的nat的語法如下:echo 1 > /proc/sys/net/ipv4/ip_forward

ipchains -A forward -p all -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ
上面的語法是參考LINUX網路實作經典(知城出版社的)
做的。
我的LINUX是red hat 7.1


註:
我灌7.0時再加一行modprobe ip_masq_ftp即一切正常。
但奇怪的是灌7.1加那一行,它會說找不到什摸module的,在7.1內我即沒加那一行,但就是連不上別人的ftp了!

red hat真的很機車也,換版本,一些東西的用法也變了!真的是快風了o.O|||

贊助商連結


mus000
2003-02-23, 11:45 PM
1. 換回 7.0 繼續用。
2. 翻7.1書,讓自己也進步一下。
3. 換 7.3 8.0 .... 更新版。

7.0 預設用的是 ipchains 當防火強。
7.1 預設用的是 iptables 吧!

Linux 是一直在進步的,想要玩遍各版本,那可是要有相當功力的。
尤其要換新版本前,先做一點基本功吧。

回到上頭的問題,其實你已經知道答案該去哪找了。就是去找 7.1 版防火牆 iptables 的 NAT 模組設定。

bigmichael
2003-02-24, 09:02 PM
最初由 mus000 發表
1. 換回 7.0 繼續用。
2. 翻7.1書,讓自己也進步一下。
3. 換 7.3 8.0 .... 更新版。

7.0 預設用的是 ipchains 當防火強。
7.1 預設用的是 iptables 吧!

Linux 是一直在進步的,想要玩遍各版本,那可是要有相當功力的。
尤其要換新版本前,先做一點基本功吧。

回到上頭的問題,其實你已經知道答案該去哪找了。就是去找 7.1 版防火牆 iptables 的 NAT 模組設定。
是實上我一直是用7.1的,是因為有一找到一個資料,我試試看,結果在7.1有問題,在7.0上可用,所以才po這文章,其實我看了很多的書,都沒有看到,modprobe ip _masq_ftp這個東東的解式,實在沒有辦法,才問人,因為我換7.0後sendmail的設定又不太一樣,所以我才又換回7.1的!

mus000
2003-02-26, 01:00 AM
請問你在 7.1 是用 ip_tables 還是 ip_chains 呢?
如果是延用 ip_chains 的話,記得要把 ip_talbes 關掉才行喔,兩者只能選一種來運作。
RH 7.1 版剛好是 ipchains 跟 iptables 交接的時期。

在 ipchains 上用的 NAT FTP modules 是 ip_masq_ftp

在 ip_talbes 上用的是以下的方式:
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp

到鳥哥的站找找相關資訊,應該能找到答案的。
http://linux.vbird.org/

bigmichael
2003-02-26, 02:58 PM
最初由 mus000 發表
請問你在 7.1 是用 ip_tables 還是 ip_chains 呢?
如果是延用 ip_chains 的話,記得要把 ip_talbes 關掉才行喔,兩者只能選一種來運作。
RH 7.1 版剛好是 ipchains 跟 iptables 交接的時期。

在 ipchains 上用的 NAT FTP modules 是 ip_masq_ftp

在 ip_talbes 上用的是以下的方式:
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp

到鳥哥的站找找相關資訊,應該能找到答案的。
http://linux.vbird.org/

感謝高手的回信!
我的linux7.1在ntsysv顯示的是ip_chains及ip_tables均是勾選的,
請問這樣會錯亂嗎?還是會造成什摸後果,我灌好之後,我都沒有去勾,是它預設自已兩個都勾的也,但是我下一個指令,lsmod
他是秀目前是ip_chains啟動中也,沒有看到ip_tables也!
ip_tables的欄位設定方法和ip_chains是否都一樣呢?
有沒有一篇專門介紹ip_tables的好文章呢?
再次感謝高手的指導^_^y

mus000
2003-02-27, 09:40 PM
鳥歌的站有一些文件可以給你參考看看的。你就找找防火牆,NAT,網路安全方面的文章,或多或少都會提到基本設定的原則的。
這裡是幾篇有提到 iptables 的。
http://linux.vbird.org/linux_server/0250simple_firewall.php#easy_iptables
http://linux.vbird.org/linux_server/0240network-secure-1.php#iptables

基本上,在新的 Kernel 上(2.4.x-xx 以後的),都建議使用 iptables 。
兩個一起起動,最大的問題就是會相衝,造成運作不正常,再不然就是設定了 Rule 卻看不到效果。
這個應該是去誤裝了,或是誤起動到 linuxconf 之類的軟體去做防火牆的設定。
不然預設值 ipchains 是停用不裝的。

從 ipchains 改變到 iptables ,他們的運作原理已經有很大差異了,算是一大進步喔。

bigmichael
2003-02-27, 10:11 PM
最初由 mus000 發表
鳥歌的站有一些文件可以給你參考看看的。你就找找防火牆,NAT,網路安全方面的文章,或多或少都會提到基本設定的原則的。
這裡是幾篇有提到 iptables 的。
http://linux.vbird.org/linux_server/0250simple_firewall.php#easy_iptables
http://linux.vbird.org/linux_server/0240network-secure-1.php#iptables

基本上,在新的 Kernel 上(2.4.x-xx 以後的),都建議使用 iptables 。
兩個一起起動,最大的問題就是會相衝,造成運作不正常,再不然就是設定了 Rule 卻看不到效果。
這個應該是去誤裝了,或是誤起動到 linuxconf 之類的軟體去做防火牆的設定。
不然預設值 ipchains 是停用不裝的。

從 ipchains 改變到 iptables ,他們的運作原理已經有很大差異了,算是一大進步喔。

感謝大俠,相助!感恩啊.....

bigmichael
2003-03-01, 11:04 PM
最初由 mus000 發表
鳥歌的站有一些文件可以給你參考看看的。你就找找防火牆,NAT,網路安全方面的文章,或多或少都會提到基本設定的原則的。
這裡是幾篇有提到 iptables 的。
http://linux.vbird.org/linux_server/0250simple_firewall.php#easy_iptables
http://linux.vbird.org/linux_server/0240network-secure-1.php#iptables

基本上,在新的 Kernel 上(2.4.x-xx 以後的),都建議使用 iptables 。
兩個一起起動,最大的問題就是會相衝,造成運作不正常,再不然就是設定了 Rule 卻看不到效果。
這個應該是去誤裝了,或是誤起動到 linuxconf 之類的軟體去做防火牆的設定。
不然預設值 ipchains 是停用不裝的。

從 ipchains 改變到 iptables ,他們的運作原理已經有很大差異了,算是一大進步喔。

請問高手,我照鳥哥的簡昜NAT架設http://linux.vbird.org/linux_server/0320nat.php後
在要執行時它說沒有這個檔案存在,如下:

[root@linux /root]# /usr/local/nat/nat.sh
bash: [root@linux: command not found
[root@linux /root]# : No such file or directory

但是這檔案明明在啊,到底時怎摸回事呢?

mus000
2003-03-02, 03:20 AM
最初由 bigmichael 發表
請問高手,我照鳥哥的簡昜NAT架設http://linux.vbird.org/linux_server/0320nat.php後
在要執行時它說沒有這個檔案存在,如下:

[root@linux /root]# /usr/local/nat/nat.sh
bash: [root@linux: command not found
[root@linux /root]# : No such file or directory

但是這檔案明明在啊,到底時怎摸回事呢?

1. 檢查一下程式第一行的 #!/bin/bash 這個有沒有寫對位置。
2. 指令有沒有打錯? 從你的錯誤訊息看來,
bash: [root@linux: command not found
好像是打錯指令了。bash 是執行的 shell,中間的 [root@linux: 這個怪怪的,所以後面是找不到可執行的指令檔。
還是這個是複製時的手誤?

bigmichael
2003-03-02, 11:41 AM
sorry錯誤訊息po錯,再po一次。


[root@linux /root]# cd /usr/local/nat
[root@linux nat]# ls -al
total 12
drwxr-xr-x 2 root root 4096 Mar 2 11:19 .
drwxr-xr-x 13 root root 4096 Mar 1 21:25 ..
-rwxr--r-- 1 root root 1637 Mar 2 11:17 nat.sh
[root@linux nat]# /usr/local/nat/nat.sh
: No such file or directory

由上可知道,這個檔案確實存在的。
而我是直接到鳥哥的網站上http://linux.vbird.org/linux_server/0320nat.php
內容如下:
#!/bin/bash
# 說明:
# a. 這個程式主要用來進行簡易 NAT 的功能的!使用的模組為 iptables 。
# b. 執行的方式為:
# 將檔案放在 /usr/local/nat 底下,檔名為 nat.sh (範例)
# chmod 744 /usr/local/nat/nat.sh
# /usr/local/nat/nat.sh
# c. 或者是直接在開機時啟動,可以使用:
# vi /etc/rc.d/rc.local
# 寫入最後一行為: /usr/local/nat/nat.sh
# d. Made by VBird 2002/08/14
###########################################################################
# 0. 請輸入你的參數值:
EXIF='ppp0' # 這個是對外的介面,如果是 cable ,則可能為 eth0!
EXNET='192.168.1.0/24' # 這個是對內的網域!這裡我只設定一個網域而已!

# 底下如無需要,請不要變動了!
# 1. 宣告變數、啟動 Routing 與清除規則:
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
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. 載入模組啦!
modprobe ip_tables 2> /dev/null
modprobe ip_nat_ftp 2> /dev/null
modprobe ip_nat_irc 2> /dev/null
modprobe ip_conntrack 2> /dev/null
modprobe ip_conntrack_ftp 2> /dev/null
modprobe ip_conntrack_irc 2> /dev/null

# 3. 啟動 IP 偽裝:
/sbin/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE


直接把內容copy下來再貼到windows下的文字文件,再將這個檔案另存成
nat.sh之後,再從smb把檔案copy到我的linux主機內
,再來就是不能執行。
是不是那內容有問題呢?可是為什摸會顯示No such file or directory

我就自已做了一個實驗,我在windows裡面,叫出文字文件,
並自已打入下列的文字
echo " this is a test"
再另存新檔,存成nat.sh
從smb把檔案copy到我的linux主機內
,再來執行就會有結果出來,如下:

[root@linux /root]# cd /usr/local/nat/
[root@linux nat]# ls -al
total 12
drwxr-xr-x 2 root root 4096 Mar 2 11:34 .
drwxr-xr-x 13 root root 4096 Mar 1 21:25 ..
-rwxr--r-- 1 nobody nobody 22 Mar 2 11:33 nat.sh
[root@linux nat]# /usr/local/nat/nat.sh
this is a test

我的環境是linux red hat 7.1 撥接制adsl(和信的768/128有一固定ip)
其它的設定均鳥哥的網站上的設定方式。
到底是哪裡出問題呢?