一、SNAT源地址轉(zhuǎn)換;
二、DNAT目的地址轉(zhuǎn)換;
三、SNAT和DNAT實(shí)戰(zhàn)案例;
一、SNAT源地址轉(zhuǎn)換;
1.原理:在路由后鏈POSTROUTING將內(nèi)網(wǎng)主機(jī)的ip地址轉(zhuǎn)換成外網(wǎng)網(wǎng)卡的ip地址;
2.應(yīng)用場(chǎng)景:共享內(nèi)部主機(jī)上網(wǎng),在網(wǎng)關(guān)主機(jī)上設(shè)置;
3.設(shè)置SNAT:
a.設(shè)置內(nèi)外網(wǎng)網(wǎng)卡的網(wǎng)絡(luò)參數(shù);
b.開啟路由轉(zhuǎn)發(fā)功能;
sed -i '/ip_forward/s/0/1/g' /etc/sysctl.conf
sysctl -p
c.編寫規(guī)則;
iptables -t nat -I POSTROUTING -o 外網(wǎng)網(wǎng)卡 -s 內(nèi)網(wǎng)的網(wǎng)段/24 -j SNAT --to-source 外網(wǎng)網(wǎng)卡的ip地址 ##適用于 外網(wǎng)ip地址固定的環(huán)境
iptables -t nat -I POSTROUTING -o 外網(wǎng)網(wǎng)卡 -s 內(nèi)網(wǎng)的網(wǎng)段/24 -j MASQUERADE ##適用于網(wǎng)關(guān)服務(wù)器外網(wǎng)網(wǎng)卡 地址不是固定的環(huán)境
d.做好安全控制:使用FORWARD時(shí)機(jī)進(jìn)行控制,嚴(yán)格設(shè)置INPUT規(guī)則;
e.配置客戶端網(wǎng)關(guān);
二、DNAT目的地址轉(zhuǎn)換;
1.原理:在路由前鏈PREROUTING將來自外網(wǎng)訪問網(wǎng)關(guān)公網(wǎng)ip及對(duì)應(yīng)端口的目的ip及端口修改為內(nèi)部服務(wù)器的ip及端口,實(shí)現(xiàn)發(fā)布內(nèi)網(wǎng)服務(wù)器;
2.應(yīng)用場(chǎng)景:發(fā)布內(nèi)網(wǎng)主機(jī)到公網(wǎng)
3.設(shè)置DNAT:網(wǎng)關(guān)主機(jī)上設(shè)置
a.設(shè)置ip地址,開啟路由,設(shè)置SNAT,保證內(nèi)部主機(jī)和內(nèi)部服務(wù)器可以連接公網(wǎng);
b.編寫防火墻規(guī)則;
iptables -t nat -I PREROUTING -i 外網(wǎng)網(wǎng)卡名 -d 外網(wǎng)網(wǎng)卡的ip地址 -p tcp --dport 發(fā)布的端口 -j DNAT --to-destination 內(nèi)網(wǎng)服務(wù)器ip地址 ##將內(nèi)網(wǎng)服務(wù)器發(fā)布到網(wǎng)關(guān)主機(jī)的外網(wǎng)ip地址并對(duì)應(yīng)其端口,后邊的端口可以省略;
c.外網(wǎng)客戶端訪問網(wǎng)關(guān)外網(wǎng)ip地址進(jìn)行測(cè)試;
三、SNAT和DNAT的實(shí)戰(zhàn)案例:
1.需求:共享公網(wǎng)ip上網(wǎng),發(fā)布ftp和httpd服務(wù),控制網(wǎng)關(guān)安全;
2.配置過程:
a.配置好ip地址等參數(shù)后,開啟路由轉(zhuǎn)發(fā)功能;
b.編寫規(guī)則:
編寫SNAT和DNAT規(guī)則:
[root@lwh ~]# /etc/init.d/iptables stop
[root@lwh ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j MASQUERADE
[root@lwh ~]# iptables -t nat -A PREROUTING -d 192.168.50.101 -i eth1 -p tcp -m multiport --dports 21,20,40000:45000,80,443 -j DNAT --to-destination 192.168.100.153
編輯網(wǎng)關(guān)安全控制規(guī)則:
[root@lwh ~]# iptables -A INPUT -i lo -j ACCEPT ##允許本地網(wǎng)卡訪問
[root@lwh ~]# iptables -A INPUT -s 192.168.100.0/24 -i eth0 -p icmp -j ACCEPT ##允許內(nèi)網(wǎng)ping
[root@lwh ~]# iptables -A INPUT -s 192.168.100.250 -p tcp --dport 22 -j ACCEPT ##允許主機(jī)100.250遠(yuǎn)程登陸主機(jī)
[root@lwh ~]# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ##允許放行主機(jī)已經(jīng)建立的連接
[root@lwh ~]# iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT ##轉(zhuǎn)發(fā)源地址為內(nèi)網(wǎng)地址的流量
[root@lwh ~]# iptables -A FORWARD -d 192.168.100.0/24 -j ACCEPT ##轉(zhuǎn)發(fā)目的地址為內(nèi)網(wǎng)地址的流量
[root@lwh ~]# iptables -P INPUT DROP
[root@lwh ~]# iptables -P FORWARD DROP
d.保存規(guī)則:
[root@lwh ~]# /etc/init.d/iptables save
[root@lwh ~]# chkconfig iptables on
[root@lwh ~]# iptables-save >/root/1.txt ##將iptables規(guī)則導(dǎo)入到某文件中
[root@lwh ~]# iptables-restore ##恢復(fù)文件中的防火墻規(guī)則
聯(lián)系客服