52Naiba

站点已开启评论功能,请回复评论

#教程#iptablesUtils让iptables端口转发支持动态域名DDNS

iptables实用程序

这是一个在GitHub上的开源项目,项目名iptablesUtils,但更多的人都叫它为natcfg,支持一键ip和域名转发,转发动态域名无需重启脚本。

使用前确保你已开启流量转发,否则脚本转发无效。

vi /etc/sysctl.confnet.ipv4.ip_forward = 1

修改后使转发强制

sysctl -p

用法

wget -qO natcfg.sh http://arloor.com/sh/iptablesUtils/natcfg.sh && bash natcfg.sh

或者

wget -qO natcfg.sh https://raw.githubusercontent.com/arloor/iptablesUtils/master/natcfg.sh && bash natcfg.sh

IF代码错误

echo -e "nameserver 1.1.1.1\nnameserver 8.8.8.8" > /etc/resolv.conf

请执行以上代码

输出如下:


此时按照需要,输入1-6中的任意数字,然后按照提示即可。


耐用品

原作者在natcfg一键脚本的基础上开发了nftables,增加了更多新特性,考虑到了软件服务在维护。

准备工作

1:关闭防火墙
2:关闭selinux
3:开启内核端口转发
4:安装nftables(一般情况下,centos8至少包含nftables)

以下一键完成:

service firewalld stopsystemctl disable firewalldsetenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsed -n '/^net.ipv4.ip_forward=1/'p /etc/sysctl.conf | grep -q "net.ipv4.ip_forward=1"echo 1 > /proc/sys/net/ipv4/ip_forwardif [ $? -ne 0 ]; then
    echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -pfiyum install -y nftables

debian系说明 请自行使用apt安装nftables,并禁用iptables

使用说明

# 必须是root用户# sudo su# 下载可执行文件wget -O /usr/local/bin/nat http://cdn.arloor.com/tool/dnat chmod +x /usr/local/bin/nat# 生成配置文件,配置文件可按需求修改(请看下文)cat > /etc/nat.conf <<EOFSINGLE,49999,59999,baidu.comRANGE,50000,50010,baidu.com EOF# 创建systemd服务cat > /lib/systemd/system/nat.service <<EOF[Unit] Description=动态设置nat规则After=network-online.targetWants=network-online.target[Service]ExecStart=/usr/local/bin/nat /etc/nat.confLimitNOFILE=100000Restart=alwaysRestartSec=60[Install]WantedBy=multi-user.targetEOF# 设置开机启动,并启动该服务systemctl daemon-reloadsystemctl enable natsystemctl start nat

配置文件内容说明
/etc/nat.conf如下:

SINGLE,49999,59999,baidu.comRANGE,50000,50010,baidu.com
  • 每行代表一个规则;行内以英文逗号分隔为4段内容

  • SINGLE:单端口转发:本机49999端口转发到baidu.com:59999

  • 范围:范围端口转发:本机50000-50010转发到baidu.com:50000-50010

  • 请确保配置文件符合格式要求,否则程序可能会出现不可预期的错误,包括但不延长你和你的服务器炸掉

如需修改转发规则,请vim /etc/nat.conf以设定你想要的转发规则修改完毕后,无需重新启动VPS或服务,程序将会自动在最多一分钟内更新NAT转发规则(PS:受DNS缓存影响,可能会超过一分钟)

优势

  1. 实现动态nat:自动探测配置文件和目标域名IP的变化,除变更配置外无需任何手工干预

  2. 支持IP和域名

  3. 以配置文件保存转发规则,可备份或迁移到其他机器

  4. 自动探测本机ip

  5. 开机自启动

  6. 支持端口段

一些需要注意的东西

  1. 不支持多网卡

  2. 本工具在centos8,redhat8,fedora31上有效,其他发行版未作测试

  3. 与前作arloor / iptablesUtils不兼容,在两个工具之间切换时,请重装系统以确保系统纯净!

如何停止以及卸载

##停止定时监听域名解析地任务service nat stop##清空nat规则nft add table ip natnft delete table ip nat##禁止开机启动systemctl disable nat
转载于网络博客


本原创文章未经允许不得转载 | 当前页面:52Naiba » #教程#iptablesUtils让iptables端口转发支持动态域名DDNS

评论