莱因电博

Li-e.cn

Li Internet Electronic Blog
@rss

Linux服务器配置路由转发

Configuring Routing and Forwarding on Linux Server

————————————————————

服务器设置路由转发

1. 在服务器上开启内核路由转发参数

临时生效:

echo "1" > /proc/sys/net/ipv4/ip_forward

永久生效,需要修改 /etc/sysctl.conf ,取消注释:

net.ipv4.ip_forward = 1

生效,执行:sysctl -p

如何检测开启成功?

执行:cat /proc/sys/net/ipv4/ip_forward

如果输出1则说明开启成功!

2. 服务器开启iptables转发

开启了ufw,去ufw修改,不要用这个

iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

手动清除nat映射:

iptables -F -t nat

3. 基于UFW的端口转发

  1. 首先开启系统的IP转发

    sudo vim /etc/sysctl.conf
    
    net.ipv4.ip_forward = 1    #增加或修改该字段,值设为1
    

    生效

    sysctl -p
    
  2. 设置防火墙的转发(修改俩个配置文件)

    修改 /etc/default/ufw

    sudo vim /etc/default/ufw
    
    # DEFAULT_INPUT_POLICY="DROP"  --> 改成ACCEPT试试
    
    DEFAULT_FORWARD_POLICY="ACCEPT"    #该值设为ACCEPT
    

    注意:

    # 默认规则内容都包含在 *filter…COMMIT 内

    # 添加如下内容时注意 *nat…COMMIT 不能放在 *filter…COMMIT 内

    # 10.0.0.0/8是内网网段,8指的是子网掩码的1个数,如255.0.0.0

  3. 修改 /etc/ufw/before.rules

    vim /etc/ufw/before.rules
    #在末尾增加以下字段
    
    *nat
    :PREROUTING - [0:0]
    :POSTROUTING - [0:0]
    -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
    -A POSTROUTING -s 10.0.0.0/8 -o eth1 -j MASQUERADE
    COMMIT
    
  4. 重启防火墙即可

    sudo ufw disable
    sudo ufw enable
    
(C) 2019 - 2024 Li-e.cn莱因电博(立网电子博客) | Powered by Vercel , based on Hugo with Gists theme.