linux nat 安裝筆記
eth0 IP 192.168.0.1
eth1 IP 192.168.1.1
目的 通過 192.168.0.1 的網關到達 192.168.1.1
rh 7.1
網路卡 8139 兩塊
首先 安裝好一塊 網路卡 安裝 linux 等待 裝好後 把第二塊網路卡插好
開機 linux 會提示你 找到了一個新硬體 選項安裝此硬體
由於 linux 不會 增加 第二個 eth1 所以需要開始手工配置
開啟
/etc/modules.conf
增加如下程式碼:
alias eth0 via-rhine
alias parport_lowlevel parport_pc
alias eth1 via-rhine
然後開啟
/etc/sysconfig/network
增加更改如下程式碼:
HOSTNAME= skanes # 伺服器的主機名
DOMAINNAME="skanes" # 伺服器的域名
GATEWAY="192.168.0.1" # 網關設定
GATEWAY="eth0" # 網關所用設備
NETWORKING=YES # 是否啟動網路服務
ONBOOT=YES # 網路服務配置在每次啟動時生效
FORWARD_IPV4="yes" # 伺服器支持IP轉發
然後 拷貝 /etc/sysconfig/network-scripts/ifcfg-eth0
文件 在相同目錄 並改名為 ifcfg-eth1
開啟 ifcfg-eth1 並更改
DEVICE="eth1" # 網路卡設備名稱
IPADDR="192.168.1.1" # IP位址
NETMASK="255.255.255.0" # 子網掩碼
ONBOOT="yes"
BOOTPROTO="none"
更改好後 從新啟動 linux 用 ifconfig 查詢 會發現 兩塊網路卡已經配置好了~
然後新增一個文件 名字 自定 自己熟悉就好 我的文件是 skanes
增加 如下程式碼
1。modprobe ip_tables
2。echo 1 > /proc/sys/net/ipv4/ip_forward
3。iptables -F INPUT
4。iptables -F FORWARD
5。iptables -F POSTROUTING -t nat
6。iptables -P FORWARD DROP
7。iptables -A FORWARD -s 192.168.0.1/24 -j ACCEPT
8。iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j
ACCEPT
9。iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.1/24 -j MASQUERADE
註:
1. 當使用redhat 的模組化內核時,裝入ip_tables模組後,以後的指令將根據需要自行
裝入需要的模組。
另外注意,如果你裝入了ipchains或者ipfwadm模組,則不能再裝入iptables模組,可用
rmmod指令移走它 們再裝入iptables模組。在redhat下,可用ntsysv移走ipchains和
iptables標記重啟後執行上面的指令。
或者放入/etc/rc.d/rc.local中自動執行。
2. 第二行開啟IP轉發功能。
3. 第三四五行清除INPUT,FORWARD和POSTROUTING鍵規則
4. 第六行設定預設轉發原則是DROP,當一個包被轉發轉則套用但不能套用到任何一條轉
發規則上則套用預設 規則。
5. 第七行轉發本網段的機器到任何地方去的包。
6. 第八行利用了有狀態的能力,只要是對先前從防火牆外部接頭出去的請求包的回復,
允許。
ESTABLISHED是指TCP連接,RELATED是指象主動FTP,ICMP ping請求等,當回復包到達
時,實際上是檢查文 件 /proc/net/ip_conntrack看是否在裡面,如果在表中,則不檢
查任何鏈,包允許通過。
7. 第九行開啟IP偽裝能力,從eth0出去的包被重寫源位址後偽裝出去,是源位址SNAT的
特例。這裡要注意的是 -o eth0, 而不是 -i eth0,在iptables中,從一個接頭出去的
包用 -o,進來的包用 -i
儲存退出 用 CHMOD 755 SKANES 指令 更改 SKANES 文件內容
更改 RC.LOCAL 文件 增加 /HOME/SKANES/SKANES
從新啟動 服務會 自動 啟動好
另外需要注意 本測試 用的是 IPTABLES
如果 電腦上開著 IPCHAINS IPTABLES 是不能正常工作的~
可以用 SETUP 開啟配置 關閉 IPCHAINS
測試
用 另外一台機器 設定 網關 192.168.0.1
PING 192.168.1.1 通過 證實 此機器已經做好了~
我是這樣寫的:
eth0 Intel 10/100 192.168.0.254
eth1 8139 192.168.1.254
兩網路卡都接在HUB上,ADSL也接在HUB上。
使用8139進行撥號。系統為RH AS 2.1,內核為2.4.9.e3
通過server停止ipchains,啟動iptables。
編寫NAT。
modprocbe ip_table
echo 1>/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
chmod 755 nat
將NAT加入到/etc/rc.d/rc.local中。
配置完成。
撥號上網: ifup ppp0
客戶端將網關設為192.168.0.254
OK。
中斷連線撥號: ifdown ppp0
|