要在Linux上配置端口映射,可以使用iptables工具來完成。
以下是配置端口映射的步驟:
檢查是否已安裝iptables。在終端中運(yùn)行以下命令:
sudo iptables --version
如果沒有安裝,可以使用以下命令安裝iptables:
sudo apt-get update
sudo apt-get install iptables
確定要進(jìn)行端口映射的網(wǎng)絡(luò)接口??梢允褂靡韵旅畈榭淳W(wǎng)絡(luò)接口列表:
ifconfig
找到要進(jìn)行端口映射的網(wǎng)絡(luò)接口的名稱,例如eth0或ens33。
執(zhí)行以下命令打開端口映射功能:
sudo sysctl net.ipv4.ip_forward=1
使用iptables命令創(chuàng)建端口映射規(guī)則。以下是示例命令:
sudo iptables -t nat -A PREROUTING -p tcp --dport <外部端口> -i <網(wǎng)絡(luò)接口> -j DNAT --to-destination <目標(biāo)IP地址>:<目標(biāo)端口>
其中,<外部端口>
是要映射的外部端口號,<網(wǎng)絡(luò)接口>
是要進(jìn)行映射的網(wǎng)絡(luò)接口的名稱(步驟2中獲得的),<目標(biāo)IP地址>
是要映射的目標(biāo)IP地址,<目標(biāo)端口>
是要映射的目標(biāo)端口號。
例如,要將外部端口8080映射到本地的192.168.1.100的80端口上,可以執(zhí)行以下命令:
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -i eth0 -j DNAT --to-destination 192.168.1.100:80
保存iptables規(guī)則,以便重啟后仍然生效。執(zhí)行以下命令:
sudo sh -c "iptables-save > /etc/iptables.rules"
配置系統(tǒng)重啟后自動加載iptables規(guī)則。打開/etc/network/interfaces
文件并添加以下行:
pre-up iptables-restore < /etc/iptables.rules
重啟網(wǎng)絡(luò)服務(wù)以使配置生效。執(zhí)行以下命令:
sudo systemctl restart networking
現(xiàn)在,配置的端口映射應(yīng)該已經(jīng)生效。外部網(wǎng)絡(luò)可以通過訪問指定的外部端口來訪問內(nèi)部網(wǎng)絡(luò)的目標(biāo)IP地址和端口。