Centos7配置为NAT服务器
Centos7做NAT路由器配置
準(zhǔn)備三臺實驗機器:
模擬內(nèi)網(wǎng):Ubuntu14.04? 192.168.104.10
模擬外網(wǎng):Ubuntu14.04? 10.20.20.100
模擬nat服務(wù)器(作為網(wǎng)關(guān)):centos7? 192.168.104.2? 10.20.20.2
?
環(huán)境:vsphere虛擬化平臺
?
1.配置內(nèi)網(wǎng)服務(wù)器網(wǎng)絡(luò)(關(guān)閉內(nèi)網(wǎng)服務(wù)器防火墻)
2.配置外網(wǎng)服務(wù)器網(wǎng)絡(luò)(關(guān)閉外網(wǎng)服務(wù)器防火墻)
?
3.配置nat服務(wù)器
?
4.配置好服務(wù)器網(wǎng)絡(luò)之后,配置nat服務(wù)器的防火墻和路由規(guī)則(重要)
1)配置路由
2)配置防火墻(重點)
SNAT:內(nèi)網(wǎng)訪問外網(wǎng),作用于nat表POSTROUTING鏈
DNAT:外網(wǎng)訪問內(nèi)網(wǎng),作用于nat表PREROUTING鏈
首先關(guān)閉自帶防火墻(systemctl? stop? firewalld)
清除之前所有的規(guī)則:(nat會使用到filter表和nat表)
???????? iptables? -X?& iptables? -F &iptables? -Z (清理filter表的規(guī)則,不加 –t 就默認(rèn)filter表)
???????? iptables?-X?-t nat? & iptables? -F? -tnat & iptables? -Z? -t nat (清理filter表的規(guī)則)
?
實驗一:內(nèi)網(wǎng)通過nat訪問外網(wǎng)
1.iptables -P FORWARD DROP #關(guān)閉forward轉(zhuǎn)發(fā)鏈,安全。
2.iptables -A FORWARD –m state –stateESTABLISHED,RELATED –j ACCEPT #使用狀態(tài)模塊,放行相關(guān)的和建立連接的請求
3.iptables -A FORWARD -m state-state NEW -s 192.168.104.0/24 -j ACCEPT #允許內(nèi)網(wǎng)通過網(wǎng)關(guān)訪問外網(wǎng),注意其實到這步就可以實現(xiàn)內(nèi)網(wǎng)訪問外網(wǎng),但是如果在外網(wǎng)上抓包會看到源地址并沒有轉(zhuǎn)換,所以這樣不夠完善。
4.iptables -t nat -APOSTROUTING -s 192.168.104.0/24 -o ens192 -j MASQUERADE
#將192.168.104段的地址偽裝成nat出口地址,MASQUERADE這個值其實就是IP偽裝成封包出去(-o)的那塊網(wǎng)卡上的IP。其實上面的語句和iptables -t nat-A POSTROUTING -s 192.168.104.0/24 -j SNAT --to-source 10.20.20.2 效果是一樣的。再次在外網(wǎng)服務(wù)器上抓包取證。
?
實驗二:外網(wǎng)通過nat訪問內(nèi)網(wǎng)服務(wù)(ssh為例)
1.iptables -P FORWARD DROP #關(guān)閉forward轉(zhuǎn)發(fā)鏈,安全。
2.iptables -A FORWARD –m state –stateESTABLISHED,RELATED –j ACCEPT #使用狀態(tài)模塊,放行相關(guān)的和建立連接的請求
3.iptables -t nat -APREROUTING -p tcp -i ens192 --dport 10222 -j DNAT --to-destination192.168.104.10:22? #外部請求nat服務(wù)器某個端口然后DNAT跳轉(zhuǎn)到內(nèi)網(wǎng)服務(wù)器上
4.iptables -A FORWARD -iens192 -o ens160 -d 192.168.104.10 -p tcp --dport 22 -j ACCEPT
# 外部請求進(jìn)到nat服務(wù)器,然后經(jīng)過nat表的PREROUTING鏈到達(dá)filter表的FORWARD鏈,然后放行目的地址的22端口,在內(nèi)網(wǎng)服務(wù)器上抓包取證。
?
總結(jié):
在linux nat中,被轉(zhuǎn)發(fā)的包實際經(jīng)過了以下幾個? 表-鏈 的組合
1.? mangle? --PREROUTING
2.? nat??? ?? ? --PREROUTING??????????????????????????? #用于外部訪問內(nèi)部服務(wù)的NAT
3.? mangle????? --FORWARD?????????????????????????????????
4.? filter?????????? --FORWARD?????
5.? mangle????? --POSTROUTING
6.? nat????????????? --POSTROUTING???????????????????????? #用于內(nèi)部瀏覽外部的NAT
nat一般都是在filter表的forward鏈和nat表的prerouting,postrouting鏈上做規(guī)則設(shè)定。
?
?
?
?
?
轉(zhuǎn)載于:https://blog.51cto.com/vcvcv/1957361
總結(jié)
以上是生活随笔為你收集整理的Centos7配置为NAT服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spire.Doc 教程:用C#识别Wo
- 下一篇: 文件分割机