headless server ((((( wireless router (other network)-----internet | | router (my network) ))))) wireless computers | | | wired computers
所以,基本上,我有一个无头的Linux盒子,我想设置为我的网络(eth0)和其他网络(wlan0)之间的路由器.我应该能够配置其他所有内容,但我对iptables不是很有经验.
我之前在两个有线网络之间做过同样的事情,但我从来没有记下规则.
解决方法
您可以激活数据包转发:
sysctl -w net.ipv4.conf.all.forwarding=1
将net.ipv4.conf.all.forwarding = 1添加到/etc/sysctl.conf以使设置保持不变.
如果您在服务器上进行过滤(可以使用iptables -nvL进行检查 – 如果FORWARD链的策略为ACCEPT,则表示您未进行过滤),则需要添加规则以允许在网络之间转发数据包:
iptables -I FORWARD -i eth0 -o wlan0 -s wi.red.net.work/24 -d wire.less.net.work/24 -j ACCEPT iptables -I FORWARD -i wlan0 -o eth0 -s wire.less.net.work/24 -d wi.red.net.work/24 -j ACCEPT
如果你没有过滤但想要(顺便说一下,你也应该看看@Red Tux的评论,默认情况下过滤并只允许最小值)这是一个很好的做法.添加以前的规则加上这个:
iptables -P FORWARD DROP
这会更改策略,以便丢弃所有不匹配任何规则的数据包.
此外,如果您想要真正的安全性,您也应该过滤INPUT链.此链处理来自您的路由器的请求,其目标IP与其自己的目标IP匹配 – 即传入连接(例如SSH).合理的默认值是:
iptables -I INPUT -i eth0 -s allowed.admin.ip.here -p tcp --dport 22 -j ACCEPT iptables -I INPUT -i lo -j ACCEPT iptables -P INPUT DROP # make sure you've put your IP on the first rule before running this # or you'll lock you out of the server
这允许SSH仅来自有线网络中的设计主机(注意警告),允许环回接口上的所有流量(某些软件需要)并丢弃所有其余流量.
正如您所看到的,您只能通过使用-p tcp | udp –dport N来允许某些端口.您应该考虑在FORWARD链上执行此操作以提高安全性.
原文地址:https://www.jb51.cc/linux/399497.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。