兩臺不同服務器轉發(fā)
打開端口轉發(fā)的功能
首先開啟IP轉發(fā)功能,默認是關閉的。
臨時修改:
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
修改過后就馬上生效,但如果系統(tǒng)重啟后則又恢復為默認值0。
永久修改:
vi /etc/sysctl.conf
# 找到下面的值并將0改成1
net.ipv4.ip_forward = 1
# sysctl -p
(使之立即生效)
默認值0是禁止ip轉發(fā),修改為1即開啟ip轉發(fā)功能。
配置端口轉發(fā)
假設用戶訪問115.29.112.119:8804
時我想讓它轉發(fā)到42.99.16.84:8890
首先要在服務器上開放8804端口
修改配置文件:vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8804 -j ACCEPT
或者命令行執(zhí)行并保存
[root@localhost sysconfig]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8804 -j ACCEPT
[root@localhost sysconfig]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 確定 ]
端口轉發(fā)
方法一:命令行執(zhí)行
需要保存,不然只是即時生效,已重啟防火墻規(guī)則就會被清空
iptables -t nat -A PREROUTING -d 115.29.112.119
-p tcp --dport 8804
-j DNAT --to-destination 42.99.16.84:8890
iptables -t nat -A POSTROUTING -d 42.99.16.84
-p tcp --dport 8890
-j SNAT --to-source 115.29.112.119
不需要更改配置文件就保存的命令:service iptables save
方法二:直接保存到配置文件
修改/etc/sysconfig/iptables配置文件,加入規(guī)則
-A PREROUTING -d 115.29.112.119
-p tcp --dport 8804
-j DNAT --to-destination 42.99.16.84:8890
-A POSTROUTING -d 42.99.16.84
-p tcp --dport 8890
-j SNAT --to-source 115.29.112.119
配置完重啟防火墻:
1.systemctl restart iptables(centos7);2.service iptables restart(centos7以前版本)
查看配置好的策略
iptables -t nat --list --line-numbers
本機端口轉發(fā)
如果只需要在本機間不同的端口轉發(fā)就比較容易了,比如 訪問 http://ip:8888 我想返回 http://ip:6666 的內容,配置如下:
[root@localhost ~]# iptables -t nat -A PREROUTING -p tcp --dport 8888 -j REDIRECT --to-ports 6666
[root@localhost ~]# service iptables save
[root@localhost ~]# service iptables restart
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。