网上比较容易搜索的 iptables 转发信息大部分是单网卡单ip、单网卡多ip等配置,对于一个服务器有多个网段,多个物理网卡的信息少。此文是结合以前部署的项目来说明怎么设置 iptables 对于多网卡,多网段的转发设置,
设置 iptables 转发需要的环境
- 本文以 debian 系统为例,其他系统可以参照,运行时删除注释
apt-get -y install iptables-persistent &&\
# 开启ipv4转发
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf &&\
# 关闭数据包源地址的校验,有几个网卡添加几个
echo net.ipv4.conf.all.rp_filter=0 >> /etc/sysctl.conf &&\
echo net.ipv4.conf.网卡名1.rp_filter=0 >> /etc/sysctl.conf &&\
echo net.ipv4.conf.网卡名2.rp_filter=0 >> /etc/sysctl.conf
# 刷新生效
sysctl -p
添加路由表,有多少个网段就添加多少个
echo "路由表1" >> /etc/iproute2/rt_tables
ip route add default via 网卡1网关 dev 网卡1名称 table 路由表1
ip route add 网卡1网段 dev 网卡1名称 table 路由表1
ip rule add from 网卡1ip table 路由表1
echo "路由表2" >> /etc/iproute2/rt_tables
ip route add default via 网卡2网关 dev 网卡2名称 table 路由表2
ip route add 网卡2网段 dev 网卡2名称 table 路由表2
ip rule add from 网卡2ip table 路由表2
设置具体的转发条件,有多少组就设置多少组,支持端口段
保存设置,避免重启失效
iptables-save > /etc/iptables.up.rules &&\
iptables-restore < /etc/iptables.up.rules
出问题时删除转发配置
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
尽可能的多测试,有问题就清除转发设置后重新设置,调试到适合你的环境为止
评论 (0)