filter表的核心功能:主機防火牆
nat表的核心功能:IP及端口的映射轉換
1. 共享上網 <== 以下是配置共享上網
2. 端口上網
實驗環境配置需求前期準備
網關服務器:
1)物理條件具備雙網卡,建議eth0外網地址(這裏是10.0.0.61),eth1內網地址(這裏是 172.16.1.61,內網卡不配gw)。
2)確保服務器網關B要可以上網(B上網才能代理別的機器上網),可以通過ping www.baidu.com進行測 試。
3)內核文件/etc/sysctl.conf裏開啓轉發功能
vim /etc/sysctl.conf --> -->sysctl -p(生效)
4)iptables的filter表的FORWARD鏈允許轉發
[root@m01~]# iptables -nL ChainFORWARD (policy ACCEPT) target prot optsource destination
5)不要filter防火牆功能,共享上網,因此最好暫時停掉防火牆測試(/etc/init.d/iptables stop)
=================== 服務端配置 ===================
1. 使用iptables防火牆實現NAT轉發
第一種: <-- 建議
vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p
第二種:
echo 1 >/proc/sys/net/ipv4/ip_forward
2. 開啓防火牆功能
/etc/init.d/iptables start
3. 清除防火牆相關的規則
iptables -F iptables -X iptables -Z iptables -nL
4. 加載iptables內核模塊,執行並放入rc.local
載入內核模塊
modprobe ip_tables modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_state
[root@m01 ~]# lsmod|egrep ^ip ip_tables 17831 2 iptable_nat,iptable_filter ipt_REJECT 2351 0 ipv6 335589 274
(5)局域網共享上網命令(任選一種即可)
方法1:適合於有固定外網地址的
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -oeth0
# 說明: -s 172.16.1.0/24:辦公司IDC內網網段
-o eth0:爲網關的外網網卡接口
-j SNAT --to-source 10.0.0.61:是網關外網卡IP地址
# 範例:
iptables -t nat -A POSTROUTING -s 10.0.1.0/255.255.240.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16
[root@m01 ~]# iptables -t nat-nL Chain PREROUTING (policyACCEPT) target prot opt source destination Chain POSTROUTING (policyACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
方法2:適合變化的外網地址(ADSL)
[root@m01 ~]# iptables -t nat -A POSTROUTING -s172.16.1.0/24 -j MASQUERADE #<== 僞裝 [root@m01 ~]# iptables -t nat-nL Chain PREROUTING (policyACCEPT) target prot opt source destination Chain POSTROUTING (policyACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
爲什麼用POSTROUTING?
企業共享上網
1)辦公司共享上網(網關要有外網IP),否則用路由(zebra)。
2)IDC內網機器上網。
=================== 客戶端配置 ===================
(1)配置內網IP的網關
vim /etc/sysconfig/network-scripts/ifcfg-eth1 GATEWAY=172.16.1.61 # 臨時添加網關:route add default gw172.16.1.61
(2)修改DNS配置文件,設置網關
[root@web01 /]# vim /etc/resolv.conf nameserver 10.0.0.2
(3)重啓網卡使修改的網卡配置文件生效
/etc/init.d/network restart route -n
(4)關閉外網IP
ifdown eth0
(5)測試網關是否可以通
ping 10.0.0.2
(6)如果可以ping通的話,則ping域名測試,但是不要忘記將外網的IP地址關閉
ping www.baidu.com