首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iptables简单应用

    可以修改/etc/rc.d/boot.local让规则重启后也能生效,如: /sbin/iptables -F /sbin/iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p tcp -j DROP /sbin/iptables -A INPUT -i eth0 -p udp -j DROP iptables是一个链的方式从前往后判断,如果前面的规则成立就不会往后继续,所以要注意顺序,一般每行对应一条规则。 -A是Append意思,也就是追加 -I是Insert意思,也就是插入 -F表示清除(即删除)掉已有规则,也就是清空。 查看已有的规则,执行命令:iptables -L -n 如(参数-L为list意思,-n表示以数字方式显示IP和端口,不指定-n则显示为名称,如:http即80端口): # iptables -L -n Chain INPUT (policy ACCEPT) target     prot opt source               destination          ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:443 ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp spt:80 DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            DROP       udp  --  0.0.0.0/0            0.0.0.0/0            Chain FORWARD (policy ACCEPT) target     prot opt source               destination          Chain OUTPUT (policy ACCEPT) target     prot opt source               destination  从可以看到:iptables有三种规则链(Chain),即INPUT、OUTPUT和FORWARD。 INPUT 用于指定输入规则,比如外部是可以访问本机的80端口 OUTPUT 用于指定输出规则,比如本机是否可以访问外部的80端口 FORWARD 用于指定端口转发规则,比如将8080端口的数据转到到80端口 -I和-A需要指定链(Chain)名,其中-I的链名后还需要指定第几条(行)规则。 可通过-D参数删除规则,有两种删除方式,一是匹配模式,二是指定第几条(行)。 也可以通过-R参数修改已有规则,另外-L参数后也可以跟链(Chain)名,表示只列出指定链的所有规则。 -j参数后跟的是动作,即满足规则时执行的操作,可以为ACCEPT、DROP、REJECT和REDIRECT等。 在iptables的INPUT链的第一行插入一条规则(可访问其它机器的80端口): iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT 在iptables的INPUT链尾追加一条规则(可访问其它机器的80端口): iptables -A INPUT -p tcp --sport 80 -j ACCEPT 如果要让其它机器可以访问本机的80端口,则为: iptables -A INPUT -p tcp --dport 80 -j ACCEPT 插入前: # iptables -L -n Chain INPUT (policy ACCEPT) target     prot opt source               destination          DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            DROP       udp  --  0.0.0.0/0            0.0.0.0/0   插入: # iptables -I INPUT 1 -p tcp --sport 80 -j ACCEPT 插入后: # iptables -L -n Chain INPUT (policy ACCEPT) target     prot opt source               destination          A

    03

    网站端口

    【本质透析】 从本质来讲,任何一个网站的访问,都是通过服务器的IP(xxx.xxx.xxx)和端口号(xx)的组合来实现访问的。他们之间用一个:来连接。 【例如:119.75.217.109:8080,完整的访问就是:http://119.75.217.109:8080/】 二.【1】由于服务器的IP号码太难记,不形象,因此出现了所谓的”域名“一词。”域名“的含义就是:通过一个xxx.xxx.xx 这样的字符串的形式来表示某个服务器IP,实质上他们是采用映射绑定解析这样来处理的。 【例如:www.baidu.com (需要专门注册和登记,便于管理,不能冲突),当输入www.baidu.com时候就表示访问IP为119.75.217.109的服务器,此时还不知道到底要访问哪个端口,那我们继续看端口。】 三.【2】端口也很难记,很讨厌。因此为了方便起见,把浏览器访问网站的端口默认设置为80端口。 就形如这样:http://119.75.217.109:80/ 此规则之后,大家都使用80端口作为默认的。因此全天下所有的可以自由访问的网站基本上都是默认的80端口访问的。 如此一来,既然都默认了干嘛还要写出来呢,于是乎,又把80端口直接给”省略“了。这样就变成了:http://119.75.217.109/,最终变成了:http://www.baidu.com/ 四.【3】综合【1】【2】两点,可以知道,当用户在浏览器地址栏输入:www.baidu.com时,准确的过程是这样的: 普通用户使用:www.baidu.com 程序处理:http://www.baidu.com/ 实际上访问地址:http://119.75.217.109:80/ 【4】通过以上说明,我们会不难发现,形如如下这样的地址: http://119.75.217.109:8080/ http://109.105.34.75:2569/admin/ 这样的地址都是正确的网站访问地址。 此图表示的就是通过IP 直接访问百度首页 五.常见的网站端口 常见的服务器软件(应用程序)分配端口如下: FTP:21 SSH:22 MYSQL:3306 DNS:53 HTTP:80 POP3:109 Https:443 …… 当然以上的都可以自定义重新修改为其他端口号。 1,1024 以下的端口多为系统端口,如80端口就属于服务器系统默认的web网站访问端口。只要应用程序没有占用端口你也可以用1024以下的,但是推荐不使用1024以下的端口号,特别是用于自定义端口号的时候。 2,1024以上的端口号,理论上可以自行分配使用,比如给 FTP自定义分配一个 2506号访问端口服务器,给SSH自定义分配一个30689号端口访问服务器等。 3,为了确保服务器系统的安全,我们应该减少开放各种端口号。很多的无用端口号很容易受到黑客攻击。 六.延伸部分 1,一个服务器上可以存放很多个不同域名的网站,都可以使用相同的80端口,他们是不同域名绑定解析到了同一个服务器IP地址不同目录 2,一个服务器上可以存放很多个二级域名的网站,都可以使用相同的80端口,他们是不同二级域名绑定解析到了同一个服务器IP地址的不同目录

    01
    领券