Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57693
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 252
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-11 14:27
文章分类

全部博文(20)

文章存档

2014年(20)

我的朋友

分类: LINUX

2014-12-09 15:53:14

马上就过年了! 口子还缺很大!  心都有点烦了! 
     没心没肺的日子, 我好怀念! 

   linux 系统网络管理啦
    
    更改主机名
        当装完系统后,默认主机名为localhost,使用hostname就可以知道你的linux的主机
            名是什么: 
[root@localhost ~]# hostname
localhost.localdomain
            也可以用hostname去更改自己的主机名:
[root@localhost ~]# hostname kerwin
[root@localhost ~]# hostname
kerwin

    上面的这个更改主机名,只是保存在内存中,下次重启之后还会变回来
        要想永久生效那么需要更改:“/etc/sysconfig/network
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

        设置DNS 
        DNS是把网址解析IP,配置文件是/etc/resolv.conf
[root@localhost ~]# cat /etc/resolv.conf 
 ;genearated by /sbin/dhclient-script
search localdomain
nameserver 8.8.8.8
nameserver 202.96.209.133
        上面那行”;"为开头的行,只是注释,没有实际意义
         在linux下面有一个特殊的文件/etc/hosts也能解析域名。不过这是
            需要手动在里面添加IP+域名这些内容,作用是临时解析某个域名
   
    /etc/hosts  中,每一行作为一条记录,分成两部分,第一部分是IP.
            第二部分是域名,需要注意的是:
            1)一个IP后面可以跟多个域名,可以是几十个甚至上百个
            2)每行只能有一个IP,也就是说一个域名不能对应多个IP
            3)如果有多行中出现相同的域名(前面IP不一样),
                会按最前面出现的记录来解析

        Linux 的防火墙
        1.selinux 
            为 Redhat/CentOS系统特有的安全机制,因特繁琐,故少用
            一半都会关闭selinux,方法“SELINUX=disabled"默认为enforcing

            保存该配置文件后,重启机器方可生效,临时关闭selinux命令
            [root@localhost ~]# setenforce 0
                可用 
[root@localhost ~]# getenforce
Disabled
        2.iptables
            iptables 是linux上特有的防火墙机器
                CentOS上是默认没有iptables规则的,使用时,先清除规则,再保存
[root@localhost ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 9221 6159K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
  164 13776 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
  166  9960 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    3   156 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
  221 22523 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 


Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 


Chain OUTPUT (policy ACCEPT 6722 packets, 971K bytes)
 pkts bytes target     prot opt in     out     source               destination   

        -nvL 就是查看规则,-F 是把当前规则清除,这个是临时的,
            重启系统或者重启iptables服务后还会加载已经保存的规则
             so需要使用/etc/init.d/iptables save 保存一下规则

        1)iptables的三个表
            filter  这个表主要是用于过滤包的,是系统预设的表,   
            内建三个链INPUT OUTPUT 和FORWARD。INPUT作用于进入
            本金的包;OUTPUT作用于本机送出的包;FORWARD作用
            于那些跟本机无关的包
            nat 主要用处是网络地址转换,也有三个链。PREROUTIING链
            的作用是在包刚刚到达防火墙时改变它的目的地址。OUTPUT
            链改变本地产生的包的目的地址。POSTROUTING链在包就要离开
             之前改变为源地址
             mangle  主要给数据包打标记,然后根据标记去操作哪些包
                (PS.这个包不怎么用)

    2)iptables基本语法
        A,查看规则以及清除规则
    [root@localhost ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         


Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         


Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

    -t 后面跟表明,-nvL即查看该表的规则,其中-n 表示不针对IP反解析主机名
        -L表示列出的意思, -v 表显示的信息更加详细、如果不加-t,则打印filter
        表的相关信息
[root@localhost ~]# iptables -nvL
Chain INPUT (policy ACCEPT 88 packets, 12572 bytes)
 pkts bytes target     prot opt in     out     source               destination         


Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         


Chain OUTPUT (policy ACCEPT 74 packets, 11899 bytes)
 pkts bytes target     prot opt in     out     source               destination       

    对于清除规则的命令中,也可用
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -Z
        不加-t默认是针对表filter来操作,-F 表示把所有规则全部删除
        -Z表示把包以及流量置零

12/4

        B 增加/删除一条规则
        [root@localhost ~]# iptables -A INPUT -s 192.168.1.158 -p tcp --sport 1234 -d 192.168.1.160 --dport 80  -j DROP
            这是增加了一条规则,省略-t所以针对的filter表。-A 表示增加一条规则
            另外还有-l表示插入一条规则,-D删除一条规则,后面的INPUT即链名称,
            还可以使OUTPUT或者FORWORD;-s后跟源地址;-p协议(tcp,udp,icmp);
            --sport/--dport 后跟源端口/目标端口;-d后跟目的IP(主要针对内网或则外网)
            -j 后跟动作(DROP即把包丢掉,REJECT即包拒绝,ACCEPT即允许包)

            eg.[root@localhost ~]# iptables -I OUTPUT -p tcp --dport 22 -d 10.0.1.14 -j DROP
                这条规则表示,把发送到10.0.2.14端口的数据包处理掉
                    至于FORWORD链的应用几乎很少会用到
                    各个选项的作用:
                    -A/-D:增加一条规则
                    -I:插入一条规则,跟-A的效果一样;
                    -p:指定协议,可以是tcp,udp或者icmp
                    --dport:跟-p一起使用,指定目标端口
                    --sport:跟-p一起使用,指定源端口
                    -s:指定源IP(可以是一个ip段)
                    -d:指定目的IP(可以是一个IP段)
                    -j :后跟动作,其中ACCEPT表示允许包,DROP表示丢掉包,REJECT表拒绝包
                    -i :指定网卡 (不常用)

            当命令规则较多的时候,想删除一条规则,却忘记了创建时的规则,可以这样
            [root@localhost ~]# iptables -nvL --line-numbers
                    选择你要删除的某个规则的编码
                    
                iptables 还有一个选项经常用到,-P 表示预设策略:
                    [root@localhost ~]# iptables -P INPUT DROP
                -P 后跟链名,策略内容或者为Drop 或者为ACCEPT,默认ACCEPT(不要连接远程
                    服务器输入这个命令,因为会断掉)
                    这个策略一旦设定后,只能使用iptables -P ACCEPT 才能恢复原始状态,不能-F
                需求:只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT, 

            关于icmp的包有一个常见的应用,
            [root@localhost ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP
                --icmp-type 这个选项是跟-p icmp 一起使用的,后面跟指定类型
                编号,8指的是能ping通其他的机器,而其他机器不能ping通

        C。nat表的应用
             对于iptables 的nat表就是有 路由器转换的功能。
                [root@localhost ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
                [root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
                第一个命令涉及到了内核参数相关的配置,目的是打开路由转发功能
                第二命令时iptables对nat表做了一个IP转发的操作,-o后跟设备名称
                表示出口的网卡,MASQUERADE表伪装

            D.保存以及备份iptables规则
                 前面设定的防火墙规则只是保存在内存里,并没有保存到一个文档中
                    那么重启系统之后,设定就会消失,所以要保存一下
                [root@localhost ~]# service iptables save
            iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
            提示保存到的是/etc/sysconfig/iptables文件内,这就是iptables
            配置文件

                有时,需要把防火强的规则都清除 那么:iptables -F ,最好是把防火强关闭

            备份防火强的命令
root@localhost ~]# sh /usr/local/sbin/iptables.sh
[root@localhost ~]# iptables-save > myipt.rule
[root@localhost ~]# cat myipt.rule
# Generated by iptables-save v1.4.7 on Sat Jun  1 18:14:03 2013
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [50:4528]
-A INPUT -s 192.168.137.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
COMMIT
# Completed on Sat Jun 
        执行一下刚才写的iptables脚本,使用iptables-save命令重定向到一个
            文件里。要恢复这些规则可用:
             iptables-restore < myipt.rule





















 
阅读(1240) | 评论(0) | 转发(0) |
0

上一篇:2014/11/28日 linux aming

下一篇:12.9 linux

给主人留下些什么吧!~~