可以做网站引导页的页面,重庆网站备案需要几天,安卓手机应用开发,免费帮忙做网站首先初步学习一下iptales的命令
iptales指令的详细教程#xff1a;https://blog.csdn.net/weixin_44390164/article/details/120500075
实践一、转发地址与端口
外网远程服务上开放了SMB服务#xff0c;端口号自定义的为44513#xff0c;WINDOWS不能直接访问#xff0c;…首先初步学习一下iptales的命令
iptales指令的详细教程https://blog.csdn.net/weixin_44390164/article/details/120500075
实践一、转发地址与端口
外网远程服务上开放了SMB服务端口号自定义的为44513WINDOWS不能直接访问可以通过路由器上的转发功能来实现但是远程服务又是动态IP地址可以用以下方式来访问
要想自动获取动态IP并转发可以在/root/目录下面新建以下脚本文件命名为jiong818.6655.la.sh
1、开机时先自动执行一次
将下面命令添加到本地启动脚本里面
iptables -t nat -I PREROUTING -p tcp -d 192.168.6.1 --dport 445 -j DNAT --to $(cat /root/jiong818.6655.la.IP):44513
#iptables -t filter -I FORWARD 1 -p all -d $(cat /root/jiong818.6655.la.IP) -j ACCEPT
#iptables -t filter -I FORWARD 1 -p all -d $(cat /root/weixu1129.x3322.net.IP) -j ACCEPT# 192.168.6.1为路由器地址当访问路由器的445端口时将会自动转换到远程域名对应的IP地址与端口上去
# jiong818.6655.la为域名
# 44513为远程SMB端口号2、建立脚本文件jiong818.6655.la.sh
dyIP$(ping jiong818.6655.la -c1 | grep PING | awk { print $3 } | cut -c 2- | cut -d\) -f1)
if [ -z $dyIP ];thenecho get Ip falseexit
fifile_content$(cat jiong818.6655.la.IP)
echo newIP$dyIP
echo lastIP$file_contentif [ $file_content ! $dyIP ];thenecho print new ip to text fileecho $dyIPjiong818.6655.la.IPiptables -t nat -D PREROUTING 1iptables -t nat -I PREROUTING -p tcp -d 192.168.6.1 --dport 445 -j DNAT --to $dyIP:44513
# iptables -t filter -D FORWARD 1
# iptables -t filter -I FORWARD 1 -p all -d $dyIP -j ACCEPT
elseecho no change!
fi3、添加实时任务每5分钟执行一次
crontab -e
*/5 * * * * sh /root/jiong818.6655.la.sh
#*/5 * * * * sh /root/weixu1129.x3322.net.sh自此就可以自动转发了随便远程IP怎么变化都可以正常访问SMB服务了。
实践二、控制终端访问情况
要想让MAC为F8:4E:17:D7:E6:29的终端在任何时间都可以通过WAN口访问124.229.32.179
iptables -t filter -I zone_lan_forward 3 -p all -d 124.229.32.179 -m mac --mac-source F8:4E:17:D7:E6:29 -j zone_wan_dest_ACCEPT
# -t filter 【表示指定filter表】
# -I zone_lan_forward 3 【插入自定义名的zone_lan_forward链 第三行如果没有3则默认插入到第一条】
# -p all 【匹配所有协议包括TCP\UDP等】
# -d 124.229.32.179 【匹配要访问的目标IP地址】
# -m mac --mac-source F8:4E:17:D7:E6:29 【匹配需要访问的终端MAC地址】
# -j zone_wan_dest_ACCEPT 【前面匹配成功后规则最后指定动作--允许从WAN口访问】#如果之前有记录的话要先删除
iptables -t filter -D zone_lan_forward 3所有终端允许访问jiong818.6655.la 和 weixu1129.x3322.net 在
iptables -t filter -I FORWARD 1 -p all -d $(ping jiong818.6655.la -c1 | grep PING | awk { print $3 } | cut -c 2- | cut -d\) -f1) -j ACCEPT
iptables -t filter -I FORWARD 1 -p all -d $(ping weixu1129.x3322.net -c1 | grep PING | awk { print $3 } | cut -c 2- | cut -d\) -f1) -j ACCEPT
iptables -t filter -D FORWARD 2
iptables -t filter -I FORWARD 1 -p all -d 124.229.32.179 -j ACCEPT
iptables -t filter -nvL FORWARD --line以下是iptables一些其它选项的说明
-t 指定表 -I 插入新规则默认为1插入到第一个 与之对应的有 -A 新增一条规则,默认加在已存在的规则的最底端 PREROUTINGPREROUTING链在进行路由决定之前处理数据包因此可以用来修改目标地址DNAT或源地址SNAT。iptables -t nat -L PREROUTING:查看nat表PREROUTING链的规则 -p 对相应网络协议的包做规则限制如tcp、udp、icmp或all -d目标地址 –dport目的端口 -j对条件满足数据作出对应的动作有ACCEPTDROPREJECT等下列可选项 ACCEPT接受 DROP丢弃 REJECT决绝 LOG记录日志 SNAT源地址转换 DNAT目标地址转换 MASQUERADE源地址动态转换为指定网卡上可用的IP地址 REDIRECT重定向将本机端口映射到本机的另一个端口
#查看规则所在nat表中链PREROUTING的行号
iptables -t nat -L PREROUTING -n --line-numbers
#删除所在nat表中链PREROUTING第[$Num]行规则
iptables -t nat -D PREROUTING [$Num] #[$Num]指的是需要删除的num。删除规则后下方的其他规则会补位num会发生变更