NAT設定問題 - Linux

By Ivy
at 2009-08-12T17:14
at 2009-08-12T17:14
Table of Contents
1. 啟用 ip_forward
vi /etc/sysctl.conf
http://img442.imageshack.us/img442/3861/rhel5master200501010007.png
馬上套用
sysctl -p
或者透過 echo 的方式 (不過這得寫到 rc.local 當中,每次開機就得套用)
http://img10.imageshack.us/img10/1781/rhel5master200501010009.png
2. 透過iptables 設定nat
不知道你的WAN端是透過什麼方式來連出去~
不過根據你提供的資料~ WAN 端應該是以 static 的方式進行連線~
假設架構為 IP分享器 <-> Linux <-> WinXP
那iptables寫法如下:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT \
--to 192.168.1.123
通常RHEL 5的iptables規則預設是沒有的~
而預設的rules的檔案都會存放在 /etc/sysconfig/iptables 這個檔案當中~
所以~
要事先去定義iptables的規則~
service iptables stop
iptables -F
iptables -X
iptables -Z
iptables -L
iptables -P FOREARD ACCEPT (也可以設定成DROP 看你的需求而定)
service iptables save (也可以用 iptables-save)
之後在 vi /etc/sysconfig/iptables 這個檔案
裡頭加入
-t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 192.168.1.23
service iptables start
chkconfig iptables on
這樣就可以了~
Good luck~
※ 引述《thorstan1234 (我又斷線了..)》之銘言:
: 請問各位先進
: 我架了一台linux (RHEL5.0)
: 兩張網卡
: eth0對外 192.168.1.123 (透過ip分享器連出去)
: 255.255.255.0
: 192.168.1.1
: eth1對內 192.168.0.254
: 255.255.255
: DNS 168.95.1.1
: 192.168.1.1
: 要用其他台windows 電腦 (用switch接兩台電腦)
: 想要透過eth0 連線到網路
: 192.168.0.5
: 255.255.255.0
: 192.168.0.254
: DNS 168.95.1.1
: 192.168.1.1
: 看了一些書 下了一些指令
: 也有在網路搜尋其他文章
: 但還是沒辦法讓讓他上網 Orz
: linux那台可以正常上網
: 有載入 ip_tables 等mod
: iptable.nat
: echo 1 > /proc/sys/net/ipv4/ip_forward
: [可是net資料夾裡面找不到ipv4的資料夾 不知道下這行指令到底有沒有用 = ="]
: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
: windows電腦可以ping到switch和linux
: 但是沒辦法對外
: 網路上有很多簡易設定的方法
: 但不知道是不是版本不一樣
: 還是少了什麼步驟
: 東湊湊西補補始終沒辦法成功
: 麻煩了.
--
vi /etc/sysctl.conf
http://img442.imageshack.us/img442/3861/rhel5master200501010007.png

馬上套用
sysctl -p
或者透過 echo 的方式 (不過這得寫到 rc.local 當中,每次開機就得套用)
http://img10.imageshack.us/img10/1781/rhel5master200501010009.png

2. 透過iptables 設定nat
不知道你的WAN端是透過什麼方式來連出去~
不過根據你提供的資料~ WAN 端應該是以 static 的方式進行連線~
假設架構為 IP分享器 <-> Linux <-> WinXP
那iptables寫法如下:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT \
--to 192.168.1.123
通常RHEL 5的iptables規則預設是沒有的~
而預設的rules的檔案都會存放在 /etc/sysconfig/iptables 這個檔案當中~
所以~
要事先去定義iptables的規則~
service iptables stop
iptables -F
iptables -X
iptables -Z
iptables -L
iptables -P FOREARD ACCEPT (也可以設定成DROP 看你的需求而定)
service iptables save (也可以用 iptables-save)
之後在 vi /etc/sysconfig/iptables 這個檔案
裡頭加入
-t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 192.168.1.23
service iptables start
chkconfig iptables on
這樣就可以了~
Good luck~
※ 引述《thorstan1234 (我又斷線了..)》之銘言:
: 請問各位先進
: 我架了一台linux (RHEL5.0)
: 兩張網卡
: eth0對外 192.168.1.123 (透過ip分享器連出去)
: 255.255.255.0
: 192.168.1.1
: eth1對內 192.168.0.254
: 255.255.255
: DNS 168.95.1.1
: 192.168.1.1
: 要用其他台windows 電腦 (用switch接兩台電腦)
: 想要透過eth0 連線到網路
: 192.168.0.5
: 255.255.255.0
: 192.168.0.254
: DNS 168.95.1.1
: 192.168.1.1
: 看了一些書 下了一些指令
: 也有在網路搜尋其他文章
: 但還是沒辦法讓讓他上網 Orz
: linux那台可以正常上網
: 有載入 ip_tables 等mod
: iptable.nat
: echo 1 > /proc/sys/net/ipv4/ip_forward
: [可是net資料夾裡面找不到ipv4的資料夾 不知道下這行指令到底有沒有用 = ="]
: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
: windows電腦可以ping到switch和linux
: 但是沒辦法對外
: 網路上有很多簡易設定的方法
: 但不知道是不是版本不一樣
: 還是少了什麼步驟
: 東湊湊西補補始終沒辦法成功
: 麻煩了.
--
Tags:
Linux
All Comments

By Una
at 2009-08-15T16:13
at 2009-08-15T16:13
Related Posts
Re: 請問 Ubuntu 要如何設定自動登入

By Agatha
at 2009-08-12T13:04
at 2009-08-12T13:04
kernek oanic的問題

By Rachel
at 2009-08-12T11:08
at 2009-08-12T11:08
kernek oanic的問題

By Brianna
at 2009-08-12T10:34
at 2009-08-12T10:34
bootable 硬碟不能 automount

By Thomas
at 2009-08-12T02:23
at 2009-08-12T02:23
Thinkpad R400裝Ubuntu9.04的無線網路和記憶體

By Audriana
at 2009-08-12T01:05
at 2009-08-12T01:05