通過iptable使內網的機器能訪問外網

環境:

Centos 6.8-1

VMware模擬方法,將一張網卡設置爲VMnet1,一張設置爲橋接

    (橋接設備)eth0 :

    IP地址:192.168.199.55

    子網掩碼:255.255.255.0

    網關:192.168.199.1

    (VMnet1)eth1:

    IP地址:192.168.43.129

    子網掩碼:255.255.255.0


Centos 6.8-2

    VMware模擬方法,將一張網卡設置爲VMnet1

    (VMnet1)eth0:

    IP地址:192.168.43.128

    子網掩碼:255.255.255.0

    網關:192.168.43.129

    

iptables的結構:

Iptables用於建立,維護和檢查IPv4數據包的表過濾規則在Linux內核中。 可以定義幾個不同的表。 每個表包含多個內置鏈,並且還可以包含用戶 - 定義鏈。每個鏈是可以匹配一組數據包的規則列表。 每個規則指定如何處理匹配的數據包。 這被稱爲“目標”, 這可能是在同一個表中跳轉到用戶定義的鏈。


iptables的表與鏈:

iptables具有4張內建表Filter,NAT,Mangle,Raw

Filter表示iptables默認的表

例:

iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT

等同於

iptables -I INPUT -p tcp --dport 80 -j ACCEPT


1、Filter表中有3個鏈:

  • INPUT鏈:處理來自外部的數據,理解爲過濾進入linux系統的數據

  • OUTPUT鏈:處理準備向外發送的數據,理解爲是否允許一些數據包去別的網絡,比如公網

  • FORWARD鏈:將數據轉發到本機的其他網卡設備上


2、NAT表

  • PREROUTING鏈:處理到達本機,但並沒有路由出去的數據包,它會改變數據包中的目標IP地址DNAT

  • POSTROUTING鏈:處理即將向外發送的數據包,它會改變數據包中的源IP地址SNAT

  • OUTPUT鏈:處理本機產生的數據包


3、Mangle表

Mangle表用於指定如果處理數據包,它能改變TCP頭中的Qos位。Mangle表具有5個內建鏈:

PREROUTING

OUTPUT

FORWARD

INPUT

POSTROUTING


4、Raw表

Raw表用於處理異常,內含2個內建鏈

PREROUTING 鏈

OUTPUT鏈







操作步驟:

Centos6.8-1

1、開啓內核轉發功能

vim /etc/sysctl.conf

# Controls IP packet forwarding

net.ipv4.ip_forward = 1


2、使參數生效

sysctl -p


3、查看iptables現有的規則

查看默認表Filter的FORWARD鏈

....................

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination         

REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

......................


4、刪除Filter表中的FORWARD鏈中的REJECT規則,做實驗也不管嚴不嚴謹了,工作中謹慎謹慎再謹慎。

iptables -t filter -D FORWARD -j REJECT 

service iptables save

iptables -L


5、添加轉發規則

iptables -t nat -I POSTROUTING -s 192.168.43.0/24 -j SNAT --to-source 192.168.199.55

service iptables save


6、在Centos6.8-2上修改網卡參數

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.43.128

NETMASK=255.255.255.0

GATEWAY=192.168.43.129

DNS1=202.101.172.35

DNS2=8.8.8.8


7、測試Centos6.8-1和Centos6.8-2的連通性

ping 192.168.43.129


8、查看本地的默認網關是否爲192.168.43.129

rount -n

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

0.0.0.0         192.168.43.129   0.0.0.0         UG    0      0        0 eth0


9、測試能ping通Centos6.8-1的路由網關

ping 192.168.199.1


10、測試能否ping通外網

ping 114.114.114.114


11、測試能否正確解析域名

ping  www.vperson.win


12、以上測試都通過,即完成實驗。



    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章