在 Linux 系统中,"forward"(转发)通常指网络数据包的转发功能,是网络通信中的核心概念。以下是详细解释:
eth0
)转发到另一个接口(如 eth1
)。bash
echo 1 > /proc/sys/net/ipv4/ip_forward # IPv4
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding # IPv6
bash
# 编辑 /etc/sysctl.conf,添加:
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
# 生效配置
sysctl -p
iptables
(传统工具):
bash
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080
firewalld
(RHEL/CentOS):
bash
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.100:toport=8080
nftables
(新一代替代工具)。.forward
文件:
bash
echo "user@example.com" > ~/.forward
dnsmasq
为例):
conf
server=8.8.8.8 # 转发到 Google DNS
server=1.1.1.1 # 备用转发
bash
ssh -L 本地端口:目标主机:目标端口 跳板机用户@跳板机IP
bash
ssh -R 远程端口:本地主机:本地端口 远程用户@远程IP
IP 转发未生效:
sysctl net.ipv4.ip_forward
是否为 1
。iptables
)允许转发。端口转发失败:
setenforce 0
)。根据你的具体场景,可以选择对应的转发类型进行配置。如果需要更具体的帮助,请补充上下文!