woody NAT

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

woody NAT

文章Philips » 週六 12月 07, 2002 2:17 am

我想用woody去做NAT但是網路上幾乎所有的nat都是為了redhat寫的
是了很多種方法,還是沒有辦法成功,各位前輩教教我吧
Philips
可愛的小學生
可愛的小學生
 
文章: 18
註冊時間: 週六 12月 07, 2002 2:13 am
來自: 摩托星球

re:woody NAT

文章阿信 » 週六 12月 07, 2002 11:36 am

一樣的辦法,主要是kernel配合iptables or ipchains。

指令都一樣。
4
/sbin/iptables -t nat -A POSTROUTING -o $OutDev -s $NatIP -j MASQUERADE

能不能說說看你的指令如何下。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:woody NAT

文章andrechen » 週六 12月 07, 2002 9:36 pm

阿信兄辛苦了,我也將自己的心得發表一下

以 root 身分,修改 /etc/sysctl.conf,加入
net/ipv4/ip_forward=1
重開機即可,有需要的人還可加入其它的參數,模組預設路徑在
/proc/sys/net/ipv4/

2.nat功能
加裝 rcconf,這的程式可設定開機要載入的服務(跟 RedHat 的 ntsysv 功能一樣),設定載入 iptables 後,以後一開機就載入 iptables

以 root 身分,輸入
iptables -P FORWARD ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.0.1/24 -j MASQUERADE
這樣即有基本的 nat,也可做更多的進階設定

然後輸入
/etc/init.d/iptables save active
即可儲存設定到/var/lib/iptables/
這樣以後一開機就會自動載入 iptables 的設定值

輸入
/etc/init.d/iptables clear
/etc/init.d/iptables save inactive
即可儲存設定到/var/lib/iptables/
這樣以後一關機就會自動清除 iptables 的設定值
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

re:woody NAT

文章阿信 » 週六 12月 07, 2002 10:32 pm

這一招跟redhat/mandrake的iptables-save/restore滿類似的,

還不錯,雖然我不喜歡這樣用....:-p
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:woody NAT

文章andrechen » 週六 12月 07, 2002 10:48 pm

因為我一向比較懶惰,所以都是採取較簡單的方法。
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

re:woody NAT

文章Robert » 週六 2月 08, 2003 2:12 pm

想請教各位, 在Debian上設定NAT
參考了 " Debian 無痛起步法 v0.1(陳漢儀, han_yi_chen@yahoo.com.tw)"
得知使用 ADSL 時的設定如下:

1. 載入相關 kernel module
modprobe ip_tables
echo "modprobe ip_tables" >> /etc/modules
2. 更改相關設定檔
/etc/sysctl.conf
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See sysctl.conf (5) for information.
#
net.ipv4.ip_forward=1
3. 執行相關指令
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.2.0/24 -j MASQUERADE


若是使用 Cable Modem 時, 請問設定是否相同? 若不同, 請問該如何設呢?
陪女兒玩直排輪, 其實是自己也想玩的老爸
頭像
Robert
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週六 2月 08, 2003 2:08 pm
來自: 袋餅屋

re:woody NAT

文章阿信 » 週六 2月 08, 2003 3:13 pm

cable modem的設定也是一樣,只是要注意output device是eth0 or ppp0 or xxxx
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:woody NAT

文章Robert » 週六 2月 08, 2003 3:41 pm

謝謝您的說明! 如果已經執行了指令
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE

現在想改為
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

是直接執行就好, 還是要注意些什麼?


另外想請問 netstat -rn 的訊息如下
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
210.202.10.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1
0.0.0.0 210.202.7.254 0.0.0.0 UG 40 0 0 eth1
0.0.0.0 192.168.1.254 0.0.0.0 UG 40 0 0 eth1

請問是不是有問題?
陪女兒玩直排輪, 其實是自己也想玩的老爸
頭像
Robert
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週六 2月 08, 2003 2:08 pm
來自: 袋餅屋

re:woody NAT

文章阿信 » 週六 2月 08, 2003 5:34 pm

你的對外interface是eth0,那可以直接下指令沒錯。

另外,可以先清除之前所下的iptables指令

ex:iptables -t nat -F
iptables -t nat -X
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:woody NAT

文章louie » 週日 2月 09, 2003 10:21 pm

[quote="Robert"]謝謝您的說明! 如果已經執行了指令
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE

現在想改為
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

是直接執行就好, 還是要注意些什麼?


iptables -t nat -R POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
louie
快樂的大學生
快樂的大學生
 
文章: 593
註冊時間: 週一 9月 09, 2002 7:58 pm

re:woody NAT

文章Robert » 週一 2月 10, 2003 11:23 pm

謝謝阿信與louie的指點, 我執行了

iptables -t nat -R POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

但現在Lan上的192.168.1.22主機只可以ping 得到 NAT 的兩張網卡 ip, 分別為
192.168.1.254 與 210.202.10.131, 就是ping 不到 internet 上的 IP, 例如
www.pchome.com.tw 或 168.95.1.1 , 於是再check routing table, 其訊息就如前一個
發問文章的內容, 於是再執行了

route add -net 192.168.1.0 netmask 255.255.255.0 gw 210.202.10.131

可是192.168.1.22主機仍是無法透過到 NAT 主機到 internet.
我的/etc/network/interfaces 設定如下

auto lo eth0 eth1

iface eth0 inet dhcp

iface eth1 inet static
address 192.168.1.254
netmask 255.255.255.0
gateway 192.168.1.254
陪女兒玩直排輪, 其實是自己也想玩的老爸
頭像
Robert
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週六 2月 08, 2003 2:08 pm
來自: 袋餅屋

re:woody NAT

文章阿信 » 週一 2月 10, 2003 11:58 pm

auto lo eth0 eth1

iface eth0 inet dhcp

iface eth1 inet static
address 192.168.1.254
netmask 255.255.255.0
gateway 192.168.1.254

將gateway刪除掉,然後重跑/etc/init.d/network然後再下nat的指令。

確定/proc/sys/net/ipv4/ip_forward的內容是1
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:woody NAT

文章Robert » 週二 2月 11, 2003 1:07 am

成功了! 非常謝謝阿信的指點!
也大致瞭解問題所在, /proc/sys/net/ipv4/ip_forward 的內容是0 不是 1.
依 " Debian 無痛起步法 v0.1(陳漢儀, han_yi_chen@yahoo.com.tw)"
原來我改了 /etc/sysctl.conf 中, net.ipv4.ip_forward=1, 但以為執行
/etc/init.d/networking restart 後, /proc/sys/net/ipv4/ip_forward的內容就會是1
結果是 kernal 的這個參數一直沒改變! 除 reboot 外, 不知該用何指令可令其自動套用
新的參數值, 因此只好用 echo "1" > /proc/sys/net/ipv4/ip_forward 的方式, 強制更
改kernal 的這個參數的內容. 現在總算過了這一關卡. 再一次感謝阿信與louie的熱心
指點! 真的謝謝您們兩位.
陪女兒玩直排輪, 其實是自己也想玩的老爸
頭像
Robert
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週六 2月 08, 2003 2:08 pm
來自: 袋餅屋

re:woody NAT

文章louie » 週三 2月 12, 2003 12:23 am

如果是修改 /etc/sysctl.conf, 只有在開機時會設一次
所以在 /etc/init.d/networking restart 之後, 要手動
echo "1" > /proc/sys/net/ipv4/ip_forward
or
sysctl -w net.ipv4.ip_forward=1
louie
快樂的大學生
快樂的大學生
 
文章: 593
註冊時間: 週一 9月 09, 2002 7:58 pm

re:woody NAT

文章Robert » 週一 2月 17, 2003 11:37 pm

因在 samba 的目錄裡發現一個 "淡江XXX.exe" (XXX=>因忘了是什麼,
故用XXX表示) 的檔, 在 windows 裡 double click 他, 結果該檔案就不見了,
先前已用 nortorn 掃毒, 因沒發現病毒, 故才執行看看, 一驚之下, 趕緊更正
iptables 的規則如下:

#!/bin/sh
set -x
#######################################################
# FOR LAN TO Internet.
#######################################################
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE


#######################################################
# Service to provide on eth0 for request from
# internet.
#######################################################
## ftp-data
iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT

## ftp
iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT


## ssh
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

## telnet
iptables -A INPUT -i eth0 -p tcp --dport 23 -j ACCEPT


## sendmail
iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT

## DNS
iptables -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT


## DNS
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT

## http
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT


## pop3
iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT

## https
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT


希望這樣可以增加一些安全性, 結果現在LAN上的PC可以上 Internet,
但是現在LAN上的PC
卻無法連上NAT機器上的 Web Server. 試著從NAT機器上的 mozilla
連線也失敗, 並出現了訊息:

Redirection limit for this URL exceeded. Unable to load the requested page.

請問我應怎麼改, 才能解決這個問題?
陪女兒玩直排輪, 其實是自己也想玩的老爸
頭像
Robert
可愛的小學生
可愛的小學生
 
文章: 39
註冊時間: 週六 2月 08, 2003 2:08 pm
來自: 袋餅屋

下一頁

回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客